我从请求中获取String变量。
String issueField = request.getParameter("issueno");
中间可能有也可能没有连字符。我希望能够遍历字符串并在看到连字符时将字符串分开。
答案 0 :(得分:12)
使用String#split:
String[] parts = issueField.split("-");
然后您可以使用parts[0]
获取第一部分,parts[1]
获取第二部分,...
答案 1 :(得分:2)
答案 2 :(得分:1)
虽然String.split可以完成这项工作,但是Guava的Splitter类不会默默地丢弃尾随分隔符,并且它不会强制使用正则表达式时不需要:
http://guava-libraries.googlecode.com/svn/trunk/javadoc/com/google/common/base/Splitter.html
关于您的问题,这是一段代码:
Iterable<String> parts = Splitter.on('-').split(issueField);
使用Splitter而不是String.split的一些额外奖励:
Iterable
是懒惰的。在
换句话说,它实际上不会这样做
一直工作直到你迭代它。不使用Splitter的唯一原因是你不想在你的类路径中包含Guava。
答案 3 :(得分:0)
您也可以使用java.util.StringTokenizer类。虽然String.split对你的问题更容易和更合适。