C#でString.Splitは最初のセパレータにのみ適用される?
2023-07-29 15:11:14
質問
String.Splitは、文字列を区切り記号で複数に分割するのに便利です。
最初のデリミタだけで文字列を分割するにはどうしたらよいでしょうか。例)文字列を
"Time: 10:12:12\r\n"
そして、次のような配列にしたい。
{"Time","10:12:12\r\n"}
どのように解決するのですか?
最適な方法は、可能な余分なスペースなどについて、解析にどの程度の柔軟性を持たせたいかに少し依存します。何が必要かを確認するために、正確なフォーマットの仕様をチェックしてください。
yourString.Split(new char[] { ':' }, 2)
は、2つの部分文字列を制限します。しかし、これは2番目の文字列の先頭にあるスペースを切り捨てません。しかし、これは分割後の2番目の操作で行うことができます。
yourString.Split(new char[] { ':', ' ' }, 2,
StringSplitOptions.RemoveEmptyEntries)
動作するはずですが、スペースを含むヘッダ名を分割しようとしている場合は壊れます。
yourString.Split(new string[] { ": " }, 2,
StringSplitOptions.None);
あなたが説明したとおりのことをしますが、実際にはスペースが存在することが必要です。
yourString.Split(new string[] { ": ", ":" }, 2,
StringSplitOptions.None);
スペースは省略可能になりますが、その場合でも
TrimStart()
が必要です。
フォーマットをある程度柔軟に保ち、コードを読みやすくするために、最初のオプションを使用することをお勧めします。
string[] split = yourString.Split(new char[] { ':' }, 2);
// Optionally check split.Length here
split[1] = split[1].TrimStart();
関連
-
[解決済み] JavaでInputStreamを読み込んでStringに変換するにはどうすればよいですか?
-
[解決済み] enumを列挙するには
-
[解決済み] JavaでStringをintに変換するにはどうしたらいいですか?
-
[解決済み] バイトを文字列に変換する
-
[解決済み] ディープクローンオブジェクト
-
[解決済み] Pythonで文字列の部分文字列を取得するにはどうすればよいですか?
-
[解決済み] 複数の例外を一度にキャッチする?
-
[解決済み] C#で文字列のエンコーディングを手動で指定せずに、一貫性のあるバイト表現を得るには?
-
[解決済み] YAML の文字列を複数行に渡って分割するには?
-
[解決済み】Bashでファイル名と拡張子を抽出する。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】C#で四捨五入する方法
-
[解決済み] 保護レベルによりアクセス不能になりました。
-
[解決済み】「入力文字列が正しい形式ではありませんでした」エラーの解決方法は?[重複しています]。
-
[解決済み】「namespace x already contains a definition for x」エラーの修正方法は?VS2010にコンバートした後に発生しました。
-
[解決済み】リソースの読み込みに失敗した:ステータス500(内部サーバーエラー)のサーバーの応答)
-
[解決済み】EF 5 Enable-Migrations : アセンブリにコンテキストタイプが見つかりませんでした
-
[解決済み] EntityTypeにキーが定義されていないエラー
-
[解決済み】HRESULTからの例外:0x800A03ECエラー
-
[解決済み】Moqを使用してメソッド呼び出しを検証する
-
[解決済み] 2つのリストを結合する