Javascript 如何在字符串中查找单词的部分匹配项并替换整个单词
我想找到字符串中某个单词的部分匹配项,并在其周围附加一个Javascript 如何在字符串中查找单词的部分匹配项并替换整个单词,javascript,regex,Javascript,Regex,我想找到字符串中某个单词的部分匹配项,并在其周围附加一个 更详细地说,我希望找到所有以百分号“%”开头的单词(例如%mystring),并将它们替换为%mystring 我在PHP中找到了一些类似的解决方案,但我不确定如何在JavaScript中实现这一点。您可以使用替换方法 'This is %mystring. What is %yourstring?'.replace(/%mystring/g, '"%mystring') // returns This is "%mystring. Wh
更详细地说,我希望找到所有以百分号“%”开头的单词(例如%mystring),并将它们替换为%mystring
我在PHP中找到了一些类似的解决方案,但我不确定如何在JavaScript中实现这一点。您可以使用
替换方法
'This is %mystring. What is %yourstring?'.replace(/%mystring/g, '"%mystring')
// returns This is "%mystring. What is %yourstring?
编辑:为了完整性,我更新了我的答案(贝吉塔的答案似乎解决了你的问题):
试试这个:
str = 'go to this %link not this %link';
replacedStr = str.replace(/\s\%(.*?)(\s|$)/g, ' <span>%$1</span>$2');
str='转到此%link而不是此%link';
replacedStr=str.replace(/\s\%(.*)(\s |$)/g,“%$1$2”);
如果没有使用regex:)的授权,请尝试
var text = "sadfg dfgikwer sfd dfg3 dfg4 sdfsdfb";
text = text.split( " " ).map( function(value){ if ( value.indexOf( "dfg" ) != 0 ){ return value }else { return "new" } } ).join( " " );
alert(text);
这会将以dfg
开头的单词替换为new
使之成为一种方法
function replaceOldWithNew( text, oldStr, newStr )
{
return text = text.split( " " ).map( function(value){ if ( value.indexOf( oldStr ) != 0 ){ return value }else { return newStr } } ).join( " " );
}
replaceOldWithNew( "sadfg dfgikwer sfd dfg3 dfg4 sdfsdfb", "dfg", "new" )
请尝试下一个代码:
var str = "my str is %something %somethingElse";
var newStr = str.replace(/%(\S+)/g, function(match, p1) {return '<a>' + p1 + '</a>'});
var str=“我的str是%something%somethingElse”;
var newStr=str.replace(/%(\S+)/g,函数(匹配,p1){return'+p1+'});
是的,但我不知道mystring的内容,我只知道它是以%:)开头的,它在一定程度上起作用。例如,我可以在我的字符串之前添加,但如何也添加到字符串的末尾?无法理解您的要求?请举例说明?我有以下字符串:%somestring-somestring可以是任何值,但我不知道,唯一固定的信息是%符号。我想让%SomeStringUnderstand。。我会尝试的。请展示你已经尝试过的,而不仅仅是说你发现了一些在JS中无法使用的PHP代码。否则,问题就离题了。谢谢这也很酷,但贝吉塔首先回答:)谢谢@阿莱默一点也不担心。
var str = "my str is %something %somethingElse";
var newStr = str.replace(/%(\S+)/g, function(match, p1) {return '<a>' + p1 + '</a>'});