2016-05-04 43 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 –