2016-05-04 73 views
4

我有這個字符串。由多重空格和字符分割字符串

文件名:foto1.jpg

我想把元素2個字段,如 {"File Name", "foto1.jpg"}的字符串。我怎麼能在java中做到這一點?

我想...

split("\\s{2,}:\\s") 

...但它不工作。

回答

1

\\s+:\\s+應該爲你工作:

public static void main(String[] args) throws Exception { 
    String s = "File Name : foto1.jpg"; 
    String[] arr = s.split("\\s+:\\s+"); // + means one or more 
    System.out.println(Arrays.toString(arr)); 

} 

O/P:

[File Name, foto1.jpg] 
+0

其合理的,但在'REGEX'我們對每一個細節'text'或在這種情況下'String'代表這項工作的工作,但如果'foto1.jpg'我們有'foto1'編譯器不扔anyThig instad和everyThing它的外觀很好,但它不是,我們在這裏沒有提到的更多細節我們沒有提到 – Hosseini

+0

@Hosseini - 即使你有'foto1'而不是'foto1.jpg' – TheLostMind

+0

它不是我們不重構圖像如果圖像有像'foto1.jpg'這樣的名字,我們的代碼中有'foto1',我們沒有提及圖片擴展名,如果不是'foto1.jpg',我們添加了錯誤的擴展名,例如'foto1.jgp' – Hosseini

1

你可以只是灑它的基礎上至REGx爲:在您的案件。下面是獲取它的例子。

public class StringSplit { 
    public static void main(String[] args) { 
     String a = "File Name : foto1.jpg"; 
     String[] values = a.split(":", 2); 
     System.out.println(values[0].trim()); 
     System.out.println(values[1].trim()); 
    } 
} 
+0

謝謝大家,這個很好用 – thieba

+0

我很高興這對你有幫助@thieba –