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

Extract substrings from a string with a certain character

本文关键字:字符串 提取 字符      更新时间:2023-09-26

我试图提取所有以!用于Javascript中的字符串。例如,如果我的字符串是:

嗨,杰克!微笑,这是一个愚蠢的文本来尝试这个!代码!

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

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>

您可以使用以下regex

!(.+?)'b