例如,我有以下代码 string txt =“我有西方,西方,西方,西方等字符串。”
我想用其他词替换西方或西方这个词。但我不想在西方取代西方。
inputText.Replace("(\\sWest.\\s)",temp);
它不起作用。答案 0 :(得分:25)
问题的答案是否 - 你不能在string.Replace中使用regexp。
如果你想使用正则表达式,你必须使用正则表达式,就像他们的答案中所说的一样。
答案 1 :(得分:24)
要替换整个单词(而不是单词的一部分):
string s = Regex.Replace(s, @"\bwest\b", "something");
答案 2 :(得分:7)
你看过Regex.Replace
了吗?另外,一定要抓住返回值; Replace
(通过任何字符串机制)返回 new 字符串 - 它不会进行就地替换。
答案 3 :(得分:4)
尝试使用System.Text.RegularExpressions.Regex
课程。它有一个静态Replace
方法。我对正则表达式不太满意,但是像
string outputText = Regex.Replace(inputText, "(\\sWest.\\s)", temp);
如果正则表达式正确,应该有效。
答案 4 :(得分:2)
如果您希望它不区分大小写,请使用此代码
string pattern = @"\bwest\b";
string modifiedString = Regex.Replace(input, pattern, strReplacement, RegexOptions.IgnoreCase);
答案 5 :(得分:1)
我同意Robert Harvey的解决方案,除了一个小修改:
s = Regex.Replace(s, @"\bwest\b", "something", RegexOptions.IgnoreCase);
这将用您的新单词
替换“West”和“west”答案 6 :(得分:0)
在类
之前的代码中插入正则表达式using System.Text.RegularExpressions;
下面的是使用正则表达式替换字符串的代码
string input = "Dot > Not Perls";
// Use Regex.Replace to replace the pattern in the input.
string output = Regex.Replace(input, "some string", ">");
答案 7 :(得分:0)
在Java中,resultMap
接受正则表达式格式的字符串,但C#也可以使用扩展来执行此操作:
String#replace
并使用它:
public static string ReplaceX(this string text, string regex, string replacement) {
return Regex.Replace(text, regex, replacement);
}
答案 8 :(得分:-1)
类Regex是静态的。
h1, h2 { display: inline; }