[英]Removing trailing and leading spaces
我正在嘗試從文件輸入中過濾出逗號和空格。 我正在返回輸入行(下面的示例,並將該行傳遞給一種方法,該方法將過濾出逗號以及前導和尾隨空格)
John Paul Claurigh, Craig Megan, Bob a’ Chores
應該過濾到數組中的三個單獨的字符串。
John Paul Claurigh
Craig Megan
Bob a’ Chores
我的問題不是要消除逗號,而是要消除開頭和結尾的空格。
public void listConverter(String list){
String[] array=listConverter.split(",");
for(int i=0; i<array.length; i++){
addSubject(array[i]);
}
我可以使用split方法去除前導空格和尾隨空格嗎?
嘗試類似:
String[] array = s.split("\\s*,\\s*");
這意味着在逗號(,)之前或之后除以任何數量(0..n)空格。
輸出:
<John Paul Claurigh>
<Craig Megan>
<Bob a’ Chores>
您的代碼似乎正確,只需使用trim()刪除前導/結尾空格
public void listConverter(String list){
String[] array=listConverter.split(",");
for(int i=0; i<array.length; i++){
addSubject(array[i].trim());
}
在逗號后用空格簡單分割就足夠了
String s = "John Paul Claurigh, Craig Megan, Bob a’ Chores";
String[]tokens = s.split(", ");//note the space after comma.
System.out.println(Arrays.toString(tokens));
您可以嘗試以下方法:
public void listConverter(String list){
String[] array=listConverter.split("\\s*,\\s*");
for(int i=0; i<array.length; i++){
addSubject(array[i]);
}
它將以逗號分割,帶有或不帶有任何前導/尾隨空格。
Java 8再現
String fileInput = "John Paul Claurigh, Craig Megan , Bob a’ Chores ";
List<String> namesList = Pattern.compile(",\\s")
.splitAsStream(fileInput)
.map(name -> name.trim())
.collect(Collectors.toList());
namesList.forEach(name -> System.out.println("NAME: " + name));
OUTPUT
NAME: John Paul Claurigh
NAME: Craig Megan
NAME: Bob a’ Chores
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.