" a<many spaces>b c "
のような文字列の空白をトリミングする最もエレガントな方法は何ですか"a b c"
。したがって、繰り返される空白は1つのスペースに縮小されます。
1047 次
9 に答える
14
正規表現を使用しないソリューション。テーブルに置くだけです。
char[] delimiters = new char[] { ' '}; // or null for 'all whitespace'
string[] parts = txt.Split(delimiters, StringSplitOptions.RemoveEmptyEntries);
string result = String.Join(" ", parts);
于 2012-04-09T08:06:58.570 に答える
13
これに使用できますRegex
:
Regex.Replace(my_string, @"\s+", " ").Trim();
于 2012-04-09T08:07:23.487 に答える
8
Regex.Replace(my_string, @"^\s+|\s+$|(\s)\s+", "$1");
于 2012-04-09T08:11:00.217 に答える
4
このメソッドを使用しTrim
て文字列の最初と最後から空白を削除し、正規表現を使用して複数のスペースを減らします。
s = Regex.Replace(s.Trim(), @"\s{2,}", " ");
于 2012-04-09T08:17:13.193 に答える
2
あなたはすることができます
Regex.Replace(str, "\\s+", " ").Trim()
于 2012-04-09T08:09:14.197 に答える
0
Regex.Replace(str, "[\s]+"," ")
次に、Trimを呼び出して、先頭と末尾の空白を取り除きます。
于 2012-04-09T08:09:06.493 に答える
0
正規表現を使用する
String test = " a b c ";
test = Regex.Replace(test,@"\s{2,}"," ");
test = test.Trim();
このコードは、2つ以上のスペースを1つのスペースに置き換えRegex
、最初と最後で削除します。
于 2012-04-09T08:13:20.253 に答える
0
正規表現を使用します。
"( ){2,}" //Matches any sequence of spaces, with at least 2 of them
これを使用して、すべての一致を「」に置き換えます。
私はC#でそれを行っていません。ドキュメントの内容を理解するのにもっと時間が必要なので、自分でそれを見つける必要があります。ごめんなさい。
于 2012-04-09T08:18:47.237 に答える
0
Regex rgx = new Regex("\\s+");
string str;
str=Console.ReadLine();
str=rgx.Replace(str," ");
str = str.Trim();
Console.WriteLine(str);
于 2012-04-09T09:06:56.903 に答える