-1

我真的很想在这里得到一点帮助。所以我想在 C Sharp 中创建一个函数来检查字符串中的空格(在开头、中间、结尾),但我不知道如何处理这个问题!:(

4

10 回答 10

2

一种方法是

"Any string with spaces".Replace(" ", string.Empty);
于 2013-06-11T12:33:17.293 回答
1

使用 Regex 来处理它 - 它不仅易于编写并且不仅可以处理空格。

var stringWithoutWhiteSpace = Regex.Replace(str, @"\s*", string.Empty)

但是请注意,通常Regex使用特定模式缓存是个好主意,因为它需要一些时间来构建它,因此如果将多次使用它,将其保存在单独的静态变量中可能是个好主意,如下所示:

public static class StringExtensions {
    public static WhiteSpaceRegex = new Regex(@"\s*");

    public static string WithoutWhitespace(this string input) 
    {
        return WhiteSpaceRegex.Replace(input, string.Empty);
    }
}
于 2013-06-11T12:30:51.627 回答
1

尝试这个:

string str = "This is an example";
string str2 = str.Replace(" ","");
于 2013-06-11T12:31:03.350 回答
1
string pp = "12. Twi  iter    ";
      pp = pp.Replace(" ", "");
于 2013-06-11T12:31:18.120 回答
0

你可以这样做:

var input = "this is a test";
var output = new string(input.Where(c => !char.IsWhiteSpace(c)).ToArray());
System.Console.WriteLine(output); // thisisatest

或这个:

var output = string.Join(string.Empty, input.Where(c => !char.IsWhiteSpace(c)));

如果您只想检查字符串是否包含任何空白字符,请执行以下操作:

var hasWhiteSpace = input.Any(c => !char.IsWhiteSpace(c));
于 2013-06-11T12:30:54.487 回答
0

像这样使用String.TrimEnd,怎么样?String.TrimStartString.Contains

string s = " SomeRandom Words";
Console.WriteLine("Does Whitespace at the end? {0}", s != s.TrimEnd());
Console.WriteLine("Does Whitespace at the begining? {0}", s != s.TrimStart());
Console.WriteLine("Does Contains whitespace? {0}", s.Contains(" "));

输出将是;

Does Whitespace at the end? False
Does Whitespace at the begining? True
Does Contains whitespace? True

这里一个DEMO.

于 2013-06-11T12:31:13.493 回答
0
 Trim()
 TrimLeft()
 TrimRight()

String X=" Abc Def " ;

STring leftremoved = TrimLeft(x) ;

String rightremoved = TrimRight(x) ;

and use forloops to find for the middel space like by converting into charArray

rightRemoved.toCharArray();

int count = 0;

Char[] result ;
foreach(char s in rightremove.toCharArray())
{

if(s=='')
{
continue;

}
else
{

result[count] = s;

}

count ++;

}
于 2013-06-11T12:31:57.167 回答
0

尝试正则表达式

string pp = "12. Twi  iter    ";
string s1 = Regex.Replace(pp, @"[ ]", "");
于 2013-06-11T12:28:10.437 回答
0

做了一个类似...的功能

public string clearSpace(string strParam)
{
  string s = strParam.Trim();
  s.Replace(" ","");
  return s;
}

你可以使用这个功能......

string s = " hey    who    am   i  ?   ";
string s2=clearSpace(s);
于 2013-06-11T12:40:12.417 回答
-1

String类有一个名为Replace的方法。检查出。它可以用空字符串代替空格,实现你想要的。另一方面,Trim 方法将仅从字符串的开头和结尾删除空格也可能对你有所帮助。还有一些方法可以只修剪字符串的开头或结尾。

  • 如果您只想从开头删除空格,请使用TrimStart
  • 如果要从末尾删除空格,请使用TrimEnd
  • 如果您想删除开头和结尾的空格,Trim会这样做;
  • 如果您只想从中间删除,则必须想出一些逻辑来删除所有空格,然后在开头和结尾重新插入这些空格。
于 2013-06-11T12:27:13.343 回答