javascript - 从具有特定字符的字符串中提取子字符串

标签 javascript regex string algorithm

我正在尝试提取所有以 ! 开头的子字符串对于 Javascript 中的字符串。例如,如果我的字符串是:

Hi Jack !Smile, This is a !silly text to try out this !Code!

所以输出应该是一个包含元素的数组:

var arr = ['Smile', 'Silly', 'Code']

我这样做的原因是因为我想把这些代码转换成我聊天室的表情符号和“!”表示这是一个表情符号代码。有没有什么快速和最佳的方法可以做到这一点,而不是使用 for 循环遍历每个单词?

最佳答案

我认为一个简单的正则表达式和一个数组处理应该可以做到这一点

var string = "Hi Jack !Smile, This is a !silly text to try out this !Code!";

var match = string.match(/!(.+?)\b/g),
  array = match ? match.map(function(val) {
    return val.substring(1)
  }) : [];

snippet.log(JSON.stringify(array))
<script src="//tjcrowder.github.io/simple-snippets-console/snippet.js"></script>

关于javascript - 从具有特定字符的字符串中提取子字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33339526/

相关文章:

python - 正则表达式从 Python 中的字符串中删除 html 标签

javascript - 如何在Javascript中快速从字符串生成数组

javascript - 如何修复带有滚动条的容器的高度

javascript - 带 if 语句的正则表达式

javascript - 在 Go 中编码 AES,在 CryptoJS 中解码

javascript - jquery验证身份证号码

string - 方案 - 字符串附加错误类型以应用错误

python - 在 Python 2.7 中将长文本行分解为固定宽度的行

javascript - 在 JavaScript 加载之前定义变量

javascript - 使用 Jquery 按列连接表