【问题标题】:C# Trim string regardless of charactersC# 修剪字符串,不考虑字符
【发布时间】:2011-05-26 02:42:39
【问题描述】:

所以这里的情况。

我有多个以随机空格开头和结尾的字符串。问题是字符串包含多个单词,所以我不能只替换(“”,“”),例如。

"       apple red "
'   orange orange   '  
'  pear grapes  '  
'                   turnship turn it over here '  

我想回来。
'苹果红'
'橙橙'
'梨葡萄'
'轮班把它翻过来'

【问题讨论】:

    标签: c#


    【解决方案1】:

    String.Trim() 怎么样?

    http://msdn.microsoft.com/en-us/library/system.string.trim.aspx

    返回一个新字符串,其中删除了当前 String 对象中出现的一组指定字符的所有前导尾随

    【讨论】:

    • Ooo 一个简单的评论,不习惯 TY。
    • @Mike 将此标记为答案? :)
    【解决方案2】:

    试试

    你的字符串.Trim();

    删除所有出现的空白 开头和结尾的字符 这个实例。

    [Visual Basic] 重载公共 函数 Trim() 作为字符串 [C#] 公共 字符串修剪(); [C++] 公共:字符串* 修剪(); [JScript] 公共函数 修剪():字符串;返回值

    一个等价于这个的新字符串 空白字符后的实例 从一开始就被删除并且 结束。

    见:http://msdn.microsoft.com/en-us/library/aa904317(v=vs.71).aspx

    【讨论】:

      【解决方案3】:

      【讨论】:

      • 这没有提供问题的答案。要批评或要求作者澄清,请在其帖子下方发表评论。
      • @OlimpiuPOP 你是不是不小心想在别处发帖?否则,这是完全符合要求的方法和文档链接。
      • 您应该使用打字来改进响应的内容。他如何使用修剪方法等的示例......
      【解决方案4】:

      假设引号确实在其中,那么您想使用正则表达式:

      (["'])\s*(.*[^\s])\s*(["'])
      

      只需将其替换为:

      $1$2$3
      

      所以:

      string value = Regex.Replace("\"   value to trim   \"", @"([""'])\s*(.*[^\s])\s*([""'])", "$1$2$3");
      

      【讨论】:

      • 对于谁反对我:问题中的字符串中有不同的引号,这在我的回答中清楚地说明了第一句话中的假设。
      • 正则表达式对于这个问题来说完全是矫枉过正。即使引号是字符串的一部分并且需要去除,调用myString.Trim(' ', '\'', '"') 也会修剪字符串,同时易于阅读并且很可能更有效。
      • @Chris 上面的正则表达式保留了引号,因为他的“返回”字符串列表包含引号。您的解决方案将删除引号。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-07-07
      • 1970-01-01
      • 2012-07-10
      • 2015-03-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多