从(“\ n”)新行操作符获取字符串

时间:2015-04-09 08:21:07

标签: java

我有一个arraylist包含字符串,如abc" \ n" 1234,cde" \ n" 567 fgh" \ n" 890。我想从它找到新行的地方获取字符串。喜欢这个数组我只想要1234,567和890.这就是我在做什么。但它说"不兼容的类型" 实际上,我已经显示了包含这些联系人的对话框。如果用户点击任何联系人,它会打开拨号程序活动。

 for(String contact: manycontacts){
        String contacts=contact.split("\\r?\\n");
    }

6 个答案:

答案 0 :(得分:2)

split会返回String[]而不是String

for(String contact: manycontacts){
    String[] contacts=contact.split("\\r?\\n");
}

如果你需要它作为一个字符串,你必须迭代数组并连接字符串。或者使用apache中的commons-utils加入它。

答案 1 :(得分:1)

split方法返回字符串数组String[]。在您的代码中,您只返回一个简单的String。那是不兼容的。

简单地将其改为:

 for(String contact: manycontacts){
        String[] contacts=contact.split("\\r?\\n");
 }

答案 2 :(得分:1)

split函数返回一个字符串数组,但是您尝试将字符串数组分配给单个字符串,这会引发此错误。而是使用:

for(String contact: manycontacts){
    String[] contacts=contact.split("\\r?\\n");
    for(String split : contacts) {
       //here you can go on and workt with a single splittet value
    }
}

答案 3 :(得分:1)

contact.split()返回一个String数组,而不是String,因此该类型不兼容。你需要

String[] contacts = contact.split("\\r?\\n");

答案 4 :(得分:0)

这是因为split返回String的数组,它将是String []。

答案 5 :(得分:0)

我只是用它来修剪字符串。

 String numberonly = contacts.substring(contact.indexOf('\n'));