Javascript jQuery-查找和替换子字符串
假设我有这样的弦Javascript jQuery-查找和替换子字符串,javascript,jquery,regex,Javascript,Jquery,Regex,假设我有这样的弦 'Hello, I am ***Groot*** today.' 'This is ***not*** my final form.' 'Test test ***123***' 我想在第一个asterix之前和第二个asterix之后添加一些新内容,使其看起来像 'Hello, I am FIRST***Groot***LAST today.' 'This is FIRST***not***LAST my final form.' 'Test test FIRST***12
'Hello, I am ***Groot*** today.'
'This is ***not*** my final form.'
'Test test ***123***'
我想在第一个asterix之前和第二个asterix之后添加一些新内容,使其看起来像
'Hello, I am FIRST***Groot***LAST today.'
'This is FIRST***not***LAST my final form.'
'Test test FIRST***123***LAST'
到目前为止,我设法做到了这一点
var first = jQuery(this).html().indexOf("***");
var last = jQuery(this).html().lastIndexOf("***");
console.log( jQuery(this).html().substring(first, last+3) );
但是我在替换上失败了…如此接近,但到目前为止…您可以非常轻松地使用regex。。。这将适用于所有字符串 (检查js控制台) 此外,您不需要创建jQuery对象来获取文本,您可以这样做:
var str = this.innerText;
str = str.replace(/\*{3}.*\*{3}/, "FIRST$&LAST");
console.log(str);
你可以很容易地使用正则表达式。。。这将适用于所有字符串 (检查js控制台) 此外,您不需要创建jQuery对象来获取文本,您可以这样做:
var str = this.innerText;
str = str.replace(/\*{3}.*\*{3}/, "FIRST$&LAST");
console.log(str);
我认为替换参数中正确的特殊替换字符应该是
$&
,而不是$1
,这仅仅是为了可读性和最佳实践
$&
对应于匹配的子字符串,而$1
使RegExp对象中似乎有多个匹配项
此处参考:我认为替换参数中正确的特殊替换字符应该是
$&
,而不是$1
,这仅仅是为了可读性和最佳实践
$&
对应于匹配的子字符串,而$1
使RegExp对象中似乎有多个匹配项
此处参考: