I have a statement as follows:
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%
I would like to see how many tabs there are but I always get zero returned for the size of the arrayList I thought I was adding to. My code:
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());
I have tried \\\\\\\\tab
\\tab
tab
all other permutations with brackets but no joy.
A literal backslash in a regex requires 4 backslashes in the String literal (2 for regex, doubled again for java), so your regex should be:
"\\\\tab"
But your other "problem" is too much code; just use split()
:
String[] colValues = n.split("\\\\tab");
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.