首頁 > Java > java教程 > 如何使用嵌入引號拆分逗號分隔的字串?

如何使用嵌入引號拆分逗號分隔的字串?

DDD
發布: 2024-12-07 08:11:11
原創
200 人瀏覽過

How to Split Comma-Delimited Strings with Embedded Quotes?

使用嵌入引號分割分隔文字

解析採用逗號分隔格式的文字時,處理嵌入的引號可能會帶來挑戰。本文解決了這個問題,提供了一個解決方案,可以用逗號分割字串,同時保留引號內文本的完整性。

考慮以下文字:

123,test,444,"don't split, this",more test,1
登入後複製

使用基本字串。 split(",") 方法將產生以下結果:

123
test
444
"don't split
 this"
more test
1
登入後複製

但是,目標是將引用的文本保留為單一實體:

123
test
444
"don't split, this"
more test
1
登入後複製

為了實現這一點,我們採用基於正規表示式的解:

str.split(",(?=(?:[^\"]*\"[^\"]*\")*[^\"]*$)");
登入後複製

此表達式根據逗號分割字串,後面跟著偶數個double引號。這可確保引用文字中的逗號被忽略為分隔符號。

理解正規表示式:

  • ,(?=( -匹配逗號後面跟著前瞻性斷言。 (單引號後面跟著非引號字符,後面跟著另一個引號)。 ]*:在匹配零個或引號前有更多非引號字元。
  • $[^"]*$:斷言匹配非引號後到達字串末尾字元。
  • 替代語法:

為了方便閱讀,您也可以使用(?x) 修飾符將正規表示式分成多行:

考慮到逗號和嵌入的引號,這種方法可確保準確分割分隔文字。

以上是如何使用嵌入引號拆分逗號分隔的字串?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板