gpt4 book ai didi

Java Split ("\\|") 不适用于带空格的字符串

转载 作者:行者123 更新时间:2023-11-29 04:23:36 25 4
gpt4 key购买 nike

对于以下输入,我希望所有字符串都以“|”分隔在数组中可用。但只有第一个字符串可用,下一个字符串部分可用。其余的根本不可用。请帮助我理解它。我探索了所有的帮助文档和以前的 stackoverflow 东西,但无法解决它。我也尝试使用 split(String regex,int limit) 但没有用。我不想替换空格,因为我需要保留它。

输入“1|纽约|1345|134|45634”预期输出为:1,New York,1345,134,45634实际输出为:1,New

public class test1 {

public static void main(String[] args) {

Scanner scanner = new Scanner(System.in);
String strinp=scanner.next();
//System.out.println(strinp.replaceAll(" ", ""));
String[] strArr=strinp.split("\\|");
//System.out.println(Arrays.deepToString(strArr));
for (String s:strArr) {
System.out.println(s);

}
}

}

最佳答案

scanner.next() 在空格上拆分。因此,您的第一个 scanner.next() 调用读取 1|New 然后将其拆分。

使用scanner.nextLine()读取整行,分割成功。

关于Java Split ("\\|") 不适用于带空格的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47611553/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com