使用正则表达式替换2个新行和制表符

时间:2017-03-17 19:57:38

标签: c# regex tabs newline

这看起来很简单,但我有一个字符串,我想用一个标签替换一个字符串和2个新行,但是它不起作用。

string newString = "\tMyVariable : Bool\n\t\nEND_VAR";
string pattern = "\n\t\nEND_VAR";
string original = "VAR_GLOBAL\n\t\nEND_VAR\n";
string updatedString = Regex.Replace(original,pattern,newString);

updatedString永远不会更新,它保持在“VAR_GLOBAL \ n \ t \ nEND_VAR \ n”,它应该是“VAR_GLOBAL \ tMyVariable:Bool \ n \ t \ nEND_VAR \ n”。我不确定为什么它不会改变。

1 个答案:

答案 0 :(得分:2)

虽然Regex可能不是最适合这种情况的,但请在下面找到符合您需求的示例代码(Regex test)。

string newString = "\tMyVariable : Bool\n\t\nEND_VAR";
string pattern = "\\n\\t\\nEND_VAR";
string original = "VAR_GLOBAL\n\t\nEND_VAR\n";
string updatedString = Regex.Replace(original,pattern,newString);

另一个(可能更简单)选项是直接替换,如:

string newString = "\tMyVariable : Bool\n\t\nEND_VAR";
string updatedString = newString.Replace("\n\t\n", "\t");