-2

我有以下字符串:

  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]

4

6 回答 6

0

试试这个正则表达式:

(\[Test\([^\)]*\))\]

用。。。来代替

$1, Hello]

你的代码可以是这样的:

var result = Regex.Replace(inputString, @"(\[Test\([^\)]*\))\]", "$1, Hello]");

或者这个简单的替换:

var result = inputString.replace( "]", ", Hello]" );
于 2012-08-16T09:46:57.383 回答
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");
于 2012-08-16T09:45:53.567 回答
0

(?<=\[Test\(\w+?="P"\))\]用字符串替换正则表达式, Hello]

于 2012-08-16T09:27:36.900 回答
0

如果您不想使用正则表达式,请尝试以下操作:

String newString = yourString.replace( "]", ", Hello]" );

如果您的字符串中只有一个“]”,这只会正常工作..

于 2012-08-16T09:32:35.147 回答
0

您可以尝试使用查找表达式:

@"(\[\s*Test\s*\(.*?\)\s*)\]"

这个替换表达式:

"$1,Hello]"
于 2012-08-16T09:32:56.213 回答
0

如果内容是静态的。试试string.replace就行了。我的观点 :)

于 2012-08-16T09:36:09.607 回答