-1

ここ で 少し 助け が 欲しい です . だから私はCシャープで文字列の空白をチェックする関数を作成したいのですが(最初、真ん中、最後)、この問題にアプローチする方法についての手がかりがありません! :(

4

10 に答える 10

2

これを行う1つの方法は

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

それを扱うには正規表現を使用してください-書くのは簡単で、スペースだけでなく処理します。

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

...のような関数を作りました

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 に答える
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 に答える
-1

StringクラスにはReplaceというメソッドがあります。それをチェックしてください。空の文字列をスペースに置き換えて、目的を達成できます。一方、 Trimメソッドは、文字列の先頭と末尾からのみ空白を削除します。あなたにも役立つかもしれません。文字列の先頭または末尾のみをトリミングする方法もあります。

  • 先頭からのみスペースを削除する場合は、TrimStartを使用します。
  • 末尾からスペースを削除する場合は、TrimEndを使用します。
  • 先頭と末尾のスペースを削除したい場合は、Trimがそれを行います。
  • 途中からのみ削除したい場合は、すべてのスペースを削除し、最初と最後にそれらを再挿入するロジックを考え出す必要があります。
于 2013-06-11T12:27:13.343 に答える