我在使用扫描仪和分隔符找到仅获取城市 1、城市 2 和没有“公里”的距离的正确方法时遇到问题。我需要将文本设为粗体。
字符串(示例):
城市1,国家; 城市2,国家; 145公里
到目前为止我的分隔符因为我真的不知道:
scanner.useDelimiter(";");
我也尝试过使用 string.split("") 但没有成功。
我应该先把它分成三部分吗?并为每个部分做一个新的分隔符?或者有更简单的方法吗?
提前致谢
(编辑以解释与另一篇文章的差异: 我用正则表达式尝试过,但也没有运气。我需要将字符串拆分到不同字符的多个位置。如果我能够通过另一篇文章解决这个问题,我就不会提出问题。)
最佳答案
您可以结合使用Scanner
和String#split
:
String source = "city1, country; city2, country; 145 km";
Scanner scanner = new Scanner(source);
scanner.useDelimiter(";");
while (scanner.hasNext()) {
// trim() removes leading and trailing whitespace
String line = scanner.next().trim();
// split the line on either ',' or a space
String[] split = line.split(",|\\s");
// print the first word
System.out.println(split[0]);
}
关于Java扫描器多个/多个分隔符条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45677332/