我想拆分由“|”分隔的字串。但是想忽略帶有“|”的字串值。找到下面的例子:
String s = "Shashank|Sam|Location|20246|India|City in India|USA Country|Location|India Specific 2021|25236|A";
我想將其視為Location|India Specific 2021一種價值。
預期輸出:
Shashank
Sam
Location
20246
India
City in India
USA Country
Location|India Specific 2021
25236
A
每當我Location|India在 String 中找到時,我都想忽略|它。
我嘗試使用
(?<!Location|India)\|
但輸出是
Shashank
Sam
Location|20246
India
City in India
USA Country
Location|India Specific 2021
25236
A
謝謝
uj5u.com熱心網友回復:
您可以將此正則運算式與帶有嵌套后視的負前瞻一起使用:
\|(?!(?<=Location\|)India )
正則運算式演示
正則運算式詳情:
\|: 匹配一個|(?!: 開始負前瞻(?<=Location\|): 確保我們Location|之前有當前位置India: 比賽India
): 結束負前瞻
uj5u.com熱心網友回復:
(?<!\bLocation)\||\|(?!India\b)
演示
此正則運算式匹配\|前面沒有的管道字符 ( )'Location'或 ( |) 后面沒有 的管道字符'India'。(?<!\bLocation)是負面的回顧;(?!India\b)是一個負面的前瞻。
\b后面的詞邊界 ( )'India'是允許匹配'|'in(例如)'Location|Indiana'(類似于 之前的詞邊界'Location')。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/389372.html
