簡體   English   中英

模式正則表達式來查找選項卡java

[英]Pattern regex to find tab java

我有如下聲明:

String n =
\ul\insrsid14762702 Symptom}{\insrsid14762702\ul\insrsid14762702 Acid}{\insrsid14762702\ul\insrsid14762702 Nonacid}{\insrsid14762702\ul\insrsid14762702 All}{\insrsid14762702 
 Reg\tab 100%\tab 100%\tab 100%
 Stg pain\tab 100%\tab 83%\tab 100%
 F pain\tab 72%\tab 0%\tab 67%

我想看看有多少個選項卡,但對於我認為要添加到的 arrayList 的大小,我總是返回零。 我的代碼:

Pattern patternTabs = Pattern.compile("\\tab",Pattern.DOTALL);
Matcher matcherTabs = patternTabs.matcher(n);

//Add the values between each tab.
ArrayList<String> colValue = new ArrayList<String>();

int count = 0;
while (matcherTabs.find())
    colValue.add(matcher.group());
count++;

System.out.println("ffffffffffffff"+colValue.size());

我試過\\\\\\\\tab \\tab tab所有其他帶括號的排列,但沒有任何樂趣。

正則表達式中的文字反斜杠需要字符串文字中的4 個反斜杠(正則表達式為 2 個,java 再次加倍),因此您的正則表達式應該是:

"\\\\tab"

但是你的另一個“問題”是代碼太多; 只需使用split()

String[] colValues = n.split("\\\\tab");

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM