拆分单词后,修剪所有前导和尾随名称空间

时间:2019-04-04 05:21:46

标签: c# string

我在C#中有一个场景: 输入为->

Sachin.Dutta :  trimbegging space :: delete spaceafter 

预期输出->

Sachin.Dutta:trimbegging space::delete spaceafter 

首先,我需要根据:或::分割字符串 然后从每个单词的开头和结尾修剪空格 然后组合单词以获得预期的输出。

我可以使用for循环编写代码以分隔单词并再次重新组合它们。但是,为此使用LINQ或Regex还有更好的方法吗?

1 个答案:

答案 0 :(得分:0)

将正则表达式与模式@"\s*:\s*"一起使用

var input = "Sachin.Dutta :  trimbegging space :: delete spaceafter";
var result = Regex.Replace(input, @"\s*:\s*", ":");

输出

Sachin.Dutta:trimbegging space::delete spaceafter

说明

  • \s*匹配任何空白字符(等于[\ r \ n \ t \ f \ v])
    • *量词-尽可能在零到无限次之间进行匹配,并根据需要(贪婪)进行回馈
  • :与字符匹配:按字面值(区分大小写)
  • \s*匹配任何空白字符(等于[\ r \ n \ t \ f \ v])
    • *量词-尽可能在零到无限次之间进行匹配,并根据需要进行回馈(贪婪)