1 つの空白を区切り文字として使用できない文字列があります。ただし、複数の空白が連続して発生する場合は、区切り文字として機能する必要があります。例えば
"Line 1 Component Name Revision Quantity Unit"
この例では、分割後に 5 つの異なる要素が必要です。文字列に組み込みの分割関数を使用して実装するにはどうすればよいですか。(空白の単一出現は区切り文字として機能しないことに注意してください)
2 つのスペースに分割し、結果に含まれる余分な部分を削除します (スペースの数が奇数の場合に発生します)。
List<string> splitStrings = myString.Split(new[]{" "}, StringSplitOptions.RemoveEmptyEntries)
.Select(s => s.Trim())
.ToList();
うーん、これがすべてのケースをカバーするかどうかはわかりません:
var regex = new Regex(" +");
var result = regex.Split("Line 1 Component Name Revision Quantity Unit");
結果:
Line 1
Component Name
Revision
Quantity
Unit
まあ、いつでも使用できます:
String newStr = str.Split("<White space><White space>");
ここであなたは...
String fields = "He rl lo vjdvd fcsd";
Pattern pattern = Pattern.compile("\\s\\s\\s*" );
String[] split = pattern.split(fields);
for (String string : split) {
//Use values here
}