C# 字符串的正则表达式替换
我正在寻找regex repalce命令来替换特定的字符串。假设我希望HTML代码中的文本C# 字符串的正则表达式替换,c#,regex,winforms,C#,Regex,Winforms,我正在寻找regex repalce命令来替换特定的字符串。假设我希望HTML代码中的文本ss替换为ss。 因此,如果我的输入是ssss,我希望看到输出ss 但我不想听到这样的话 问题像Isses一样被替换 所以我需要检查它是一个完整的单词还是单词的一部分 我要用regex.replace替换 ss更好的解决方案是使用HTML解析器库,解析HTML并替换标记。 结帐 话虽如此,如果您仍然坚持使用正则表达式,因为您知道您的数据是特定格式的,那么遵循正则表达式应该足以满足您的需要 [>]\s?
ss
替换为ss
。
因此,如果我的输入是ssss
,我希望看到输出ss
但我不想听到这样的话
问题
像Isses一样被替换
所以我需要检查它是一个完整的单词还是单词的一部分
我要用regex.replace替换
ss更好的解决方案是使用HTML解析器库,解析HTML并替换标记。 结帐 话虽如此,如果您仍然坚持使用正则表达式,因为您知道您的数据是特定格式的,那么遵循正则表达式应该足以满足您的需要
[>]\s?ss\s?[<]
[>]\s?ss\s?[]是关闭标记
[您不应该使用正则表达式来解析html,正则表达式是为常规的lagnuages设计的,其中html是上下文无关的
我强烈建议使用撇开regex不是用于HTML的最佳工具这一观察不谈,您可以使用\bss\b
表达式来确保匹配的字符串前后都有单词边界。字符串输入=“ss
问题”;
string input = "<p style="">ss</p> <b>Issues</b>";
string pattern = "(?<=\>)ss(?=\<)";
string replacement = "<u>ss</u>";
Regex rgx = new Regex(pattern);
string result = rgx.Replace(input, replacement);
Console.WriteLine("Original String: {0}", input);
Console.WriteLine("Replacement String: {0}", result);
string pattern=“(?)ss(?=\不确定我是否完全理解您在这里想要什么,但这有什么问题:
dataString = dataString.Replace(">ss<", "><u>ss</u><").Replace("> ss <", "><u> ss </u><");
dataString=dataString.Replace(“>ssss这样一个简单的解决方案怎么样:
public string ReplaceHtmlTagContent(string value, string search) {
return value.Replace(">" + search + "<", "><u>" + replace + "</u><")
}
公共字符串替换HtmlTagContent(字符串值,字符串搜索){
返回值。替换(“>”+搜索+“+替换+”