Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/337.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 提取字符串部分并添加到ArrayList_Java_String_Arraylist_Split_Substring - Fatal编程技术网

Java 提取字符串部分并添加到ArrayList

Java 提取字符串部分并添加到ArrayList,java,string,arraylist,split,substring,Java,String,Arraylist,Split,Substring,我对字符串子字符串选项有问题。 我想将字符串中的一些部分添加到ArrayList中,但我只能添加第一个文本 ArrayList arr=新的ArrayList; 字符串text=[\text1\,\text2\,\text3\]; text=text.substringtext.indexOf\+1; text=text.substring0,text.indexOf\; arr.addtext; 对于int i=0;i

我对字符串子字符串选项有问题。 我想将字符串中的一些部分添加到ArrayList中,但我只能添加第一个文本

ArrayList arr=新的ArrayList; 字符串text=[\text1\,\text2\,\text3\]; text=text.substringtext.indexOf\+1; text=text.substring0,text.indexOf\; arr.addtext; 对于int i=0;i
text1
我希望在数组中添加所有文本,每个文本位于不同的位置:

text1
text2
text3
有没有可能这样做?提前感谢。

使用正则表达式,不要将数组中的第一个和最后一个元素添加到arraylist中

String str[]=text.split("\"(,)?");
ArrayList<String> arr=new ArrayList<String>();

for(int i=1;i<str.length-1;i++){
 System.out.print(str[i]+"\n");
    arr.add(str[i]);

                }
使用正则表达式,不要将数组中的第一个和最后一个元素添加到arraylist

String str[]=text.split("\"(,)?");
ArrayList<String> arr=new ArrayList<String>();

for(int i=1;i<str.length-1;i++){
 System.out.print(str[i]+"\n");
    arr.add(str[i]);

                }

正则表达式模式怎么样

String text = "[\"text1\",\"text2\",\"text3\"]";
String[] split = text.split("\"(,)?");

正则表达式模式怎么样

String text = "[\"text1\",\"text2\",\"text3\"]";
String[] split = text.split("\"(,)?");
运行:

输出:

运行:

输出:

您可以相当轻松地使用split:

public static void main(final String[] args) throws Exception {
    final String input = "[\"text1\",\"text2\",\"text3\"]";
    final List<String> output = new ArrayList<>();
    for(final String item : input.replaceAll("^\\[\"|\"\\]$", "").split("\",\"")) {
        output.add(item);
    }
    for(final String item : output) {
        System.out.println(item);
    }
}
您试图解析的字符串与Collection.toString的输出惊人地相似,如果是这种情况,那么这一切都是错误的…

您可以非常轻松地使用split:

public static void main(final String[] args) throws Exception {
    final String input = "[\"text1\",\"text2\",\"text3\"]";
    final List<String> output = new ArrayList<>();
    for(final String item : input.replaceAll("^\\[\"|\"\\]$", "").split("\",\"")) {
        output.add(item);
    }
    for(final String item : output) {
        System.out.println(item);
    }
}

您试图解析的字符串与Collection.toString的输出惊人地相似,如果是这种情况,那么这一切都是错误的…

您是否试图手动解析字符串的JSON数组?您应该使用JSON解析器来完成此操作。您是否正在尝试手动解析字符串的JSON数组?您应该使用JSON解析器来实现这一点。
text1
text2
text3