-2

私がやろうとしているのは、空白のサイズを1文字に減らしようとしていることです(不要な空白を削除します。このタスクをどのように処理すればよいですか?

PS .: 正規表現なし

EDIT .:ありがとう、すでに成功しました。分割+結合の提案に感謝します。残念ながら、欲求不満の10代の若者がすでに「ウェブサイトには単純すぎる質問」をしたことで私にリプスパムしたため、どの回答にも賛成できません。

EDIT2 .:文の前にスペースがある場合、スペースを削除しないようにするにはどうすればよいですか?

4

4 に答える 4

5

どうですか

string.Join(" ", 
   myString.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries))

編集

拡張子として

    public static string RemoveWhiteSpaces(this string s)
    {
        return string.Join(" ", s.Split(new char[] { ' ' }, 
               StringSplitOptions.RemoveEmptyEntries));
    }
myString.RemoveWhiteSpaces();
于 2013-07-31T08:55:10.167 に答える
1

次のコードを使用できます。

public static String WhiteSpaceReducer(String value) {
  if (String.IsNullOrEmpty(value))
    return value;

  Boolean wasWhiteSpace = false;
  StringBuilder Sb = new StringBuilder();

  foreach (Char Ch in value) 
    if (Char.IsWhiteSpace(Ch)) {
      if (!wasWhiteSpace)
        Sb.Append(Ch);

      wasWhiteSpace = true;
    }
    else {
      wasWhiteSpace = false;
      Sb.Append(Ch);
    }

  return Sb.ToString();
}


...

String test = "   test   me  out  ";
String result = WhiteSpaceReducer(test);
于 2013-07-31T09:03:38.283 に答える