使用Regex在多个字符组后开始一个新行

时间:2014-08-18 15:41:49

标签: c# regex

我想在检测到字符组后立即创建一个新行。该组由给定文本中的两个或多个星形字符组成。我的注册知识很低,任何人都可以帮忙解决这个问题。

我在下面尝试过编码,但它无法完成我想要完成的任务。它在每颗恒星之后放置一条新线,它应该为两颗或更多颗恒星完成。

string result = "*1, **1, **1, ***1, *2, **2, *2, *2, **3, *3";

Console.WriteLine(Regex.Replace(result, @"[*(\\*\\*)+]", "\r\n$0"));

结果应格式如下;因此,当两个或两个以上的一起开始时,开始一个新的行;

*1,
**1,
**1,
***1, *2,
**2, *2, *2
**3, *3

1 个答案:

答案 0 :(得分:1)

正则表达式:

\s*(\*\*)

替换字符串:

\n$1

DEMO

C#代码将是,

string str = "*1, **1, **1, ***1, *2, **2, *2, *2, **3, *3";
string result = Regex.Replace(str, @"\s*(\*\*)", "\n$1");
Console.WriteLine(result);
Console.ReadLine();

IDEONE