使用正则表达式替换

时间:2012-04-04 00:06:13

标签: c# regex

我想创建一个从字符串中断行的函数。

例如:“1。” - > “\ n1。”

所以我可以编写像这样的代码

string Input = "1. First option";
Input += "2. Second option";
Input += "3. Third option";

Output = WriteMenu(Input);

并得到一个像这样的字符串

"1. First option
\n2. Second option
\n3. Third option"

模式将始终为[number] [dot] [whitespace]。 如果第一个选项带有新行,这不是问题。

3 个答案:

答案 0 :(得分:4)

给这个家伙一个机会

Input = Regex.Replace(Input, @"(?<!^)(\d+\.)", "\n$1")

答案 1 :(得分:2)

Regex rgx = new Regex("(\\d+\\.\\s)");
String replaced = rgx.Replace(Input, Environment.NewLine + "$1");

答案 2 :(得分:1)

这样的表达式会更短:

Regex.Replace(Input, @"(?!^)\d+\.", "\n$0")