假设我只有一个字符串内容,如下所示
Input:
FTX+AAA+++201707141009UTC'
FTX+BBB+++201707141009UTC'
FTX+CCC+++201707141009UTC?:??'
PISCO US LTS;?:V.D??'
SOUZA?:GB?:GB'
FTX+ZZZ+++201707141009UTC'
Expected Output:
Number of segments: 4
Input:
FTX+AAA+++201707141009UTC'
FTX+CCC+++201707141009UTC?:??'
PISCO US LTS;?:V.D??'
FTX+ZZZ+++201707141009UTC'
Expected Output:
Number of segments: 3
基本上,当定界符'带有问号时,我想考虑同一行。行定界符为“
如何在Java中标记化并获取段数?
提前致谢。
最佳答案
您可以在正则表达式中使用否定式的后面:
String input = "FTX+AAA+++201707141009UTC'\n"
+ " FTX+BBB+++201707141009UTC'\n"
+ " FTX+CCC+++201707141009UTC?:??'\n"
+ " PISCO US LTS;?:V.D??' \n"
+ " SOUZA?:GB?:GB'\n"
+ " FTX+ZZZ+++201707141009UTC'";
String[] tokens = input.split("(?<!\\?)'\\s*");
System.out.println(tokens.length);
4
但是,在第二个示例中,我希望有两个细分市场,而不是三个...
关于java - 如何在单拆分中使用和不使用分隔符来标记字符串,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52630190/