我寫了這個簡單的程序,它在每個非數字字符處分割一個給定的輸入。字符串分割錯誤的輸出
public class Fileread {
public static void main(String[] args) throws IOException {
//Declarations
String[] temp;
String current;
//Execution
BufferedReader br = new BufferedReader(new FileReader("input.txt"));
while ((current = br.readLine()) != null) {
temp = current.split("\\D"); //Splitting at Non Digits
for (int i = 0; i < temp.length; i++) {
System.out.println(temp[i]);
}
}
}
}
這是input.txt中:
hello1world2
world3
end4of5world6
輸出:
1
2
3
4
5
6
爲什麼那麼多多餘的空格出現?我需要在一個單獨的行上打印每個數字,而沒有間隔。我怎樣才能解決這個問題?
使用'\\ d +'圖案。但是,如果您的字符串以非數字開頭,則仍然可以保留前導空元素。 –