括号字符前的新行

时间:2016-11-07 18:49:09

标签: c# regex wpf

我有一个像这样的字符串数组数据:

GAZIOSMANPASA-KARADENIZ (ISTANBUL)

我想在每个括号前面加一个子行,如下所示:

GAZIOSMANPASA-KARADENIZ 

(ISTANBUL)

然后我想写文本块。我该怎么做?如果你能举个例子,我会很感激。

3 个答案:

答案 0 :(得分:1)

这不需要正则表达式。只需使用SubstringIndexOf

string text = "GAZIOSMANPASA-KARADENIZ (ISTANBUL)";

string part1 = text.Substring(0, text.IndexOf('('));
string city = text.Substring(text.IndexOf('('));

Console.WriteLine(part1);
Console.WriteLine();
Console.WriteLine(city);

<强>输出:

GAZIOSMANPASA-KARADENIZ 

(ISTANBUL)

这是working .NET Fiddle

答案 1 :(得分:1)

您可以使用String.Replace方法在每个括号前插入换行符(Environment.NewLine),然后将结果分配给TextBlock.Text属性(或绑定到绑定中使用的视图模型属性)

string text = "GAZIOSMANPASA-KARADENIZ (ISTANBUL)";
textBlock.Text = text.Replace(" (", Environment.NewLine +"(");

答案 2 :(得分:1)

string str =  "GAZIOSMANPASA - KARADENIZ(ISTANBUL)";
str = str.Insert(str.IndexOf('('), "\n");
Console.WriteLine(str);

您可以在\n的索引处插入新行(()。