【问题标题】:C# .Trim not working for some reasonC# .Trim 由于某种原因无法正常工作
【发布时间】:2016-12-06 01:41:04
【问题描述】:

好吧,基本上,我正在修剪一个字符串,然后将其变为小写。小写部分效果很好,但句子没有被修剪。有什么线索吗?

var result12 = TrimTheSentence("   John.   Doe@ gmaiL . cOm");

//方法是

    public static string TrimTheSentence(string givenString)
    {
        givenString = givenString.Trim();
        return givenString.ToLower();

【问题讨论】:

  • 实际输出是什么,您期望什么?
  • 实际输出是 "john.doe@gmail.com) ,我希望空格消失
  • 这不是 trim 应该如何工作的
  • 啊,所以基本上,它的作用是删除字符串前面和结尾的空格?如,它结合了 TrimStart 和 TrimEnd?

标签: c# .net


【解决方案1】:

这就是你要找的,你可以把你的方法缩短到一行:

return givenString.Replace(" ", "").ToLower();

Trim() 删除字符串前后的空格。它不会删除 字符串中的空格。

例子:

"  Test String".Trim(); //Output: "Test String", it will remove only the leading spaces, but not the space between Test and String.
" Test String   ".Trim(); //Output: "Test String", it will remove leading and trailing spaces.

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

【讨论】:

  • @X.L.Ant - 是的,我注意到了。固定的。谢谢。
  • 是的,我用它作为占位符,但问题是 - 我试图弄清楚为什么 trim 不起作用
  • @user2629770 - Trim() 删除字符串前后的空格。它不会删除 in 字符串中的空格。
  • @user2629770 - 很高兴能提供帮助。如果答案让您满意,请点赞并将其标记为答案。
  • 很遗憾,还不能对任何答案投赞成票(我是新成员)
【解决方案2】:

Trim 从开头/结尾删除空格,而不是从整个字符串中删除。试试:

return givenString.Replace(" ", "");

【讨论】:

  • 是的,我用它作为占位符,但问题是 - 我试图弄清楚为什么 trim 不起作用
  • @user2629770 - 因为“修剪从开头/结尾删除空格,而不是从整个字符串中删除”。它正在工作the way its supposed to work
【解决方案3】:

您可以使用字符串扩展方法来删除字符串中的空格。

public static string RemoveWhiteSpaces(this string input)
{
    return Regex.Replace(input, @"\s+", "");
}

【讨论】:

    猜你喜欢
    • 2013-12-28
    • 1970-01-01
    • 1970-01-01
    • 2016-12-06
    • 2012-12-15
    • 1970-01-01
    • 1970-01-01
    • 2022-10-07
    • 1970-01-01
    相关资源
    最近更新 更多