添加+;JavaScript中给定句子的每个单词前面
我认为这个问题可以用正则表达式解决。但不幸的是,我不擅长正则表达式。我现在有一个句子,我想在每个单词前面加上“+” 示例:输入:我有一支笔添加+;JavaScript中给定句子的每个单词前面,javascript,regex,Javascript,Regex,我认为这个问题可以用正则表达式解决。但不幸的是,我不擅长正则表达式。我现在有一个句子,我想在每个单词前面加上“+” 示例:输入:我有一支笔 输出将是:+I+有+a+笔 我已经找到了一些解决办法,但这些都不能解决我的问题。我试过下面的方法。但它给了我这样的输出: I+have+a+pen+但我想要+I+have+a+pen $('.addCharacter').click(function(event) { var textareaInput=$('.textareaInput')
输出将是:+I+有+a+笔 我已经找到了一些解决办法,但这些都不能解决我的问题。我试过下面的方法。但它给了我这样的输出:
I+have+a+pen+
但我想要+I+have+a+pen
$('.addCharacter').click(function(event) {
var textareaInput=$('.textareaInput').val();
var strToArr=textareaInput.split(' ');
var arrUniqueVal=arrUnique(strToArr);
$('.textareaInput').val(arrUniqueVal.join('+'));
console.log(arrUniqueVal);
//alert("ok");
});
注:我想能够输入多个句子
更新:输入:
hello world one
hello world two
hello world three
输出:
+hello +world +one
+hello +world +two
+hello +world +three
上面的regexp将匹配单词的开头并添加“+”。您可以使用以下正则表达式:
/(^ |\s+)/g
,表示匹配字符串的开头(^
)或(
)一系列空白字符(\s+
)。它周围的()
使它成为一个捕获组。然后使用替换字符串替换“$1+”
:$1
表示“将捕获组的内容放在此处”,并且+
是一个文本+
字符。正则表达式上的g
表示“全局”(例如,在整个字符串中):
var str=“我有一支笔”;
str=str.replace(/(^ |\s+)/g,“$1+”;
console.log(str)代码>为什么不“+”+句子。拆分(“”)。加入(“+”)
?试试这个var str=“我有一支笔”;str=str.replace(/\s+/g,“+”)@navnit:如果您将其更改为str=str.replace(/(^\s+)/g,“$1+”)代码>,这将是一个非常好的答案(而不是评论)。比我的答案好多了。我建议贴出来。谢谢你的建议@T.J.Crowder
str = str.replace(/\b\w/g, "+");