这看起来很简单,但我有一个字符串,我想用一个标签替换一个字符串和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”。我不确定为什么它不会改变。
答案 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");