繁体   English   中英

用其他东西替换字符串的一部分

[英]Replace part of string with something else

我想用其他方式替换格式为[@ID = ###]的字符串中的值。 该字符串可以包含[@ID = ###]和其他内容,但这是我关注的括号中的位。 例如:

[@ ID = 3671818] +2

为此,我只想替换“ [@ ID = 3671818]”-“ +2”需要保持原样。

我想尝试这样的事情:

value = value.Replace().Insert();

但是我知道那行不通。 有没有一种方法可以在一行代码中做到这一点,或者我需要使用各种字符串变量吗? 在这种情况下,我是否需要一个startIndex变量和endIndex变量来首先删除“ [@ ID =“和”]”部分,以便我可以定位介于两者之间的内容?

这是正则表达式的用途:

string str = @"[@ID=3671818]+2";
var newStr = Regex.Replace(str, @"\[.*\]", "TEST");
Console.WriteLine(newStr);
//newStr = "TEST+2"

括号内的所有内容(包括括号)都将替换为替换字符串。

如果要保留括号,可以使用

@"(?<=\[).*(?=\])"  //newStr = "[TEST]+2"

它使用先行和后向查找括号内的文本,然后替换该文本。

就学习Regex而言,这里有大量指南,我更喜欢RegExr进行测试。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM