我有以下字符串:
This is my testasdasd [Test(XYZ="P")] abc sdfsdf
This is my testasdasd [Test(ABC="P")] sdfsdf
This is my testdfsdfsdf [Test(DEF="P")] sdfsdfs
This is my testsdfsdfsdf [Test(GHI="P")] asdfasdasd
我希望在“)”之后添加“,Hello”文本上面的字符串。我的输出应该如下所示:
This is my testasdasd [Test(XYZ="P"), Hello] abc sdfsdf
This is my testasdasd [Test(ABC="P"), Hello] sdfsdf
This is my testdfsdfsdf [Test(DEF="P"), Hello] sdfsdfs
This is my testsdfsdfsdf [Test(GHI="P"), Hello] asdfasdasd
你可以帮我制作正则表达式吗?
编辑:我不能通过查找和替换“]来完成上述操作。”“我的字符串中也有其他括号。我需要找[Test(..)],输出应该是[Test(...),Hello]
答案 0 :(得分:0)
用字符串(?<=\[Test\(\w+?="P"\))\]
, Hello]
答案 1 :(得分:0)
如果您不想使用正则表达式,请尝试此操作:
String newString = yourString.replace( "]", ", Hello]" );
只有在你的字符串中只有一个“]”时,这才能正常工作..
答案 2 :(得分:0)
您可以尝试使用查找表达式:
@"(\[\s*Test\s*\(.*?\)\s*)\]"
并替换表达式:
"$1,Hello]"
答案 3 :(得分:0)
如果内容是静态的。尝试string.replace
即可。我的观点:))
答案 4 :(得分:0)
function insert(string, word) {
return string.replace(/\[Test\(.+\)\]/g, function(a, b) {
return a.replace("]", ", " + word + "]");
});
}
insert('This is my testasdasd [Test(XYZ="P")] abc sdfsdf', "Hello");
答案 5 :(得分:0)
试试这个正则表达式:
(\[Test\([^\)]*\))\]
替换为
$1, Hello]
您的代码可以是这样的:
var result = Regex.Replace(inputString, @"(\[Test\([^\)]*\))\]", "$1, Hello]");
或此simle替换:
var result = inputString.replace( "]", ", Hello]" );