找到字符格式并在c#中替换

时间:2016-09-17 10:19:46

标签: c# regex replace

如何在c#

中找到字符格式并替换

我想在字符串

中找到它
x[number].

我的代码

string input = "23. 11x10.9.1.10x03.9x8"
string okk;
Regex ini = new Regex(input, @"\d");
string lol = "x"+ini+".";
txtOutput.Text = input.Replace(lol, " ");

我希望替换为

txtOutput --> "23.11x10. 9.1.10x03. 9x8. " 

2 个答案:

答案 0 :(得分:2)

在23. 11x10.9.1.10x03.9x8

出23.11x10。 9.1.10x03。 9x8。

string input = "23. 11x10.9.1.10x03.9x8";
input = input.Replace(" ", ""); //del blank character
Regex ini = new Regex(@"\d+"); //1-n Numbers
Match match = ini.Match(input);
string lol = "";
while (match.Success) { 
     lol = "x" + match.Value + ".";
     input = input.Replace(lol, lol + " ");
     match = match.NextMatch();
}   

input = input + ". "; //attached . and space, after last character

MessageBox.Show(input);

答案 1 :(得分:2)

您可以使用此正则表达式:

string input = "23. 11x10.9.1.10x03.9x8";
string txtOutput = Regex.Replace(input, @"(x\d+\.)", "$1 ");
Console.WriteLine(txtOutput);
//=> 23. 11x10. 9.1.10x03. 9x8

Code Demo

我们使用正则表达式匹配(x\d+\.)并捕获匹配值。然后我们将替换"$1 ",这将在相同的匹配文本后添加空格。