如何使用正则表达式(JS)替换下面的长字符串中的字符串?
我的字符串可能是以下之一:
str = "this may have bgskin-akb4c hello how";
or
str = "have bgskin-a2b3c hello";
or
str = "bgskin-xyz2 hello";
or
str = "bgskin-bbc";
在上面的字符串中我想替换单词的第二部分(例如:-akb4c,-xyz2),以“bgskin”开头,带有新的字符串值,例如:“bgskin-a2b3c hello” 变成“有bgskin-newstr你好”
感谢你的帮助。
非常感谢, →
答案 0 :(得分:3)
在Javascript中
str.replace(/bgskin-\w+/g, 'bgskin-newstr');
答案 1 :(得分:1)
我的正则表达式模式末尾的gi
标志告诉它进行全局和不区分大小写的搜索。
var pattern = /bgskin-[a-z0-9]+/gi;
str.replace(pattern, "bgskin-newstr");
看到它在jsFiddle上工作: http://jsfiddle.net/VMtnW/ 强>
答案 2 :(得分:1)
var str = "this may have bgskin-akb4c hello how";
var newstr = str.replace(/(bgskin-)[^\s]+/gi, "$1test");
答案 3 :(得分:0)
在Perl中,假设您总是希望替换字符串相同:s/bgskin-\w+/bgskin-newstr/g