asm*_*mae 2 java stringtokenizer
我正在使用Java,我正在使用StringTokenizer来获取我的String的一部分,但问题是当我使用"StringTokenizer"时,我的结果的一部分没有出现这是我的java代码:
for(String iopp:opp){
StringTokenizer tokenizer = new StringTokenizer(iopp,"form:blocConfigurations:configurations:0:parametrage:options:");
while(tokenizer.hasMoreTokens()){
ind.add(tokenizer.nextToken());
}
}
logger.info("Mes indices sont :"+ind);
Run Code Online (Sandbox Code Playgroud)
在我的控制台中:
what was it :[form:blocConfigurations:configurations:0:parametrage:options:1, form:blocConfigurations:configurations:0:parametrage:options:6, form:blocConfigurations:configurations:0:parametrage:options:9, form:blocConfigurations:configurations:0:parametrage:options:17, form:blocConfigurations:configurations:0:parametrage:options:20, form:blocConfigurations:configurations:0:parametrage:options:21, form:blocConfigurations:configurations:0:parametrage:options:22]
17:13:45,876 INFO [com.sfr.price.functionalTest.scenario.impl.AJLINGE.etapeParametrerOption](821) [] Mes indices sont :[1, 6, 9, 17, 2, 21, 22]
Run Code Online (Sandbox Code Playgroud)
StringToknizer工作得非常好,但我不明白为什么在这个元素形式:blocConfigurations:configurations:0:parametrage:options:20它只显示2而不是20
提前致谢
阅读javadoc:StringTokenizer.
每个角色form:blocConfigurations:configurations:0:parametrage:options:都是天文位.0也是这个字符串包含的分隔符0.
StringTokenizer不适合这项任务的工具.您可以尝试String.split:
String[] tokens = iopp.split("form:blocConfigurations:configurations:0:parametrage:options:");
Run Code Online (Sandbox Code Playgroud)
但要小心,因为split正则表达式作为delimeneter.如果您的分隔符字符串中有一些特殊字符,则需要将其转义.
| 归档时间: |
|
| 查看次数: |
97 次 |
| 最近记录: |