私はgo
初心者です、私は次のようなデータを持っていますTime Server Type Class Method-Message
。 jsonフィールドの区切り文字 "|"の助けを借りて次のデータを持っていますTime|Server|Type|Class|Method-Message
私が分割したい - |Method-Message
の4番目のインデックスに、フィールド区切り文字 "|"次のTime|Server|Type|Class|Method|Message
で終了します。n = s[6 : 6+strings.Index(s[6:], "/")]
でデータを分割しようとしましたが、-Message
を削除して、Time|Server|Type|Class|Method
で終了しました。その後、フィールド区切り文字を追加してTime|Server|Type|Class|Method|Message|
に追加しましたが、-Message
データから削除されます。文字列分割と結合
Q
文字列分割と結合
0
A
答えて
6
元の文字列には/
文字がないときにstrings.Index(s[6:], "/")
を使用している理由は、私はわからないんだけど、あなたはいくつかの方法でと
-
文字置き換えることができます。分割の元の試みで
をし、二回参加:
msg := "Time Server Type Class Method-Message"
msg = strings.Join(strings.Split(msg, " "), "|")
msg = strings.Join(strings.Split(msg, "-"), "|")
またはわずかに、より効率的に、一度だけ参加して:
msg := "Time Server Type Class Method-Message"
parts := strings.Split(msg, " ")
parts = append(parts[:4], strings.Split(parts[4], "-")...)
newMsg := strings.Join(parts, "|")
それともstrings.Replace
への複数の呼び出しで:
newMsg := strings.Replace(strings.Replace(msg, " ", "|", -1), "-", "|", -1)
または単一の正規表現を持つ: `strings.Index(Sこのライン上で私を修正するための
newMsg := regexp.MustCompile(`[ -]`).ReplaceAllString(msg, "|")
関連する問題
- 1. Python文字列分割結合4
- 2. 結合されたXML文字列分割Java
- 3. 分割文字列とシンボル
- 4. 文字列トリミングと分割
- 5. Javascriptの分割文字列と結果の配列
- 6. 分割文字列
- 7. 分割文字列
- 8. 分割文字列
- 9. 分割文字列[]
- 10. 分割文字列
- 11. 分割文字列と配列
- 12. 文字列と文字列をスカラで分割する場合の相違点
- 13. 文字列の分割文字
- 14. 分割文字列区切り文字
- 15. バッシュ分割文字列
- 16. ハスケル:文字列分割。
- 17. Java文字列分割エラー
- 18. 文字列の分割
- 19. 分割文字列は、 '' C++
- 20. 分割文字列が
- 21. SQL分割文字列
- 22. 分割C#で文字列
- 23. 分割文字列は、C#
- 24. Javaの分割文字列
- 25. セグメンテーションフォルト - 分割文字列
- 26. 分割/再フォーマット文字列
- 27. 分割テキスト文字列R
- 28. 文字列分割関数
- 29. C++マルチ分割文字列
- 30. SparkSQL分割文字列
JimBのおかげで[6:]、「/ "、"お礼 – PlayDave
'strings.Index(s [6:]、" - "'私はこのメソッドを使用しました 'part = append(parts [:4]、strings.Split(parts [4]、 " - ")... ) 'それは私が欲しかったすべてをした、Strings.Replaceを使用することを避けていたので、文字列で文字列を置き換えるため、フィールドは区切り文字で区切られています。文字列ではないスキーマ内に存在します。ありがとうJimB – PlayDave