對於下面的輸入im期望所有以「|」分隔的字符串在數組中可用。但只有第一個字符串可用,下一個字符串部分可用,其餘字符串根本不可用。請幫助我理解它。我探索了所有幫助文檔和以前的stackoverflow的東西,但無法解決它。我嘗試了split(String regex,int limit),但沒用。我不想取代空白,因爲我需要保留該空白。Java拆分(「\ |」)不適用於空間字符串
輸入 「1 |紐約| 1345 | 134 | 45634」 預期成果是:1,紐約,1345,134,45634 實際輸出爲:1,新
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);
}
}
}
嗯,這個在這裏產生的預期輸出: 字符串strinp =「1 |紐約| 1345 | 134 | 45634「; String [] strArr = strinp.split(「\\ |」); (String s:strArr){ System.out.println(s); } –
public static void main(String [] args){ \t \t Scanner scanner = new Scanner(System.in); \t String strinp = scanner.nextLine(); \t strinp = strinp.replace('|',','); \t System.out.println(strinp); \t} 輸入: 「1 |紐約| 1345 | 134 | 45634」 輸出: 「1,紐約,1345,134,45634」 –