Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/19.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 拆分字符串输入包含基于逗号双引号和方括号的长数字_Java_Regex_String - Fatal编程技术网

Java 拆分字符串输入包含基于逗号双引号和方括号的长数字

Java 拆分字符串输入包含基于逗号双引号和方括号的长数字,java,regex,string,Java,Regex,String,我有一根这样的绳子 [“1505213753057”、“1505213854042”、“1505537148455”] 我想将其拆分并将值存储到长数组中 String [] loanId = loanIds.split("\"?,(?=(?:(?:[^\"]*\"){2})*[^\"]*$)\"?"); Long[] data = new Long[loanId.length]; for (int i = 0; i < loa

我有一根这样的绳子 [“1505213753057”、“1505213854042”、“1505537148455”]

我想将其拆分并将值存储到长数组中

String [] loanId = loanIds.split("\"?,(?=(?:(?:[^\"]*\"){2})*[^\"]*$)\"?");
                Long[] data = new Long[loanId.length];
                for (int i = 0; i < loanId.length; i++) {
                    data[i] = Long.parseLong(loanId[i]);
                }
String[]loanId=loanIds.split(“\”?,(?=(?:(?:[^\“]*\”){2})*[^\“]*$)\”;
Long[]数据=新的Long[loanId.length];
for(int i=0;i
我正在使用此拆分器,但它不起作用。如何实现此目的有任何帮助吗?

这应该可以

String loanIds = "[\"1505213753057\",\"1505213854042\",\"1505537148455\"]";

loanIds = loanIds.replaceAll("(\\[\")|(\"\\])", "").replaceAll("\",\"", ",");
String [] loanId = loanIds.split(",");
Long[] data = new Long[loanId.length];
for (int i = 0; i < loanId.length; i++) {
    data[i] = Long.parseLong(loanId[i]);
    System.out.println(data[i]);
}
String loanIds=“[\“1505213753057\”,“150521385042\”,“1505537148455\”;
loanIds=loanIds.replaceAll(“(\\[\”)”、“).replaceAll(“\”、“,”);
字符串[]loanId=loanIds.split(“,”);
Long[]数据=新的Long[loanId.length];
for(int i=0;i
[
]
替换为
{
}

import java.util.*;
class check {
    public static void main(String ar[]){ 
        String str[] ={"1505213753057","1505213854042","1505537148455"};
        long ll[]=new long[str.length];
        for(int i=0;i<str.length;i++)
            ll[i]=Long.parseLong(str[i]);
        for(int i=0;i<str.length;i++)
            System.out.println(ll[i]);
         }
     }
import java.util.*;
课堂检查{
公共静态void main(字符串ar[]){
字符串str[]={“1505213753057”、“150521385042”、“1505537148455”};
long ll[]=新的long[str.length];

对于(int i=0;i这可以使用正则表达式实现,如下所示:

package com.grsdev.stackoverflow.question170920.pack01;

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;


public class LongNumerString {

    public static void main(String[] args) {


        String text="[\"1505213753057\",\"1505213854042\",\"1505537148455\"]";

        Pattern pattern=Pattern.compile("\\d+");

        Matcher matcher = pattern.matcher(text);


        List<Long> list=new ArrayList<>(); 

        while(matcher.find()){
            list.add(Long.valueOf(matcher.group()));
        }


        System.out.println("longs  : "+list);



        Long [] array = new Long[list.size()];

        list.toArray(array);
    }

}
package com.grsdev.stackoverflow.question170920.pack01;
导入java.util.ArrayList;
导入java.util.Collections;
导入java.util.List;
导入java.util.regex.Matcher;
导入java.util.regex.Pattern;
公共类长字符串{
公共静态void main(字符串[]args){
字符串文本=“[\'1505213753057\”、\'150521385042\”、\'1505537148455\”;
Pattern=Pattern.compile(\\d+);
Matcher Matcher=pattern.Matcher(文本);
列表=新的ArrayList();
while(matcher.find()){
list.add(Long.valueOf(matcher.group());
}
System.out.println(“longs:+list”);
Long[]数组=新的Long[list.size()];
列表。toArray(数组);
}
}
mainstring=[“1505213753057”、“1505213854042”、“1505537148455”] 这是你的绳子吗

如果是,并且您希望在长数组中存储所有元素,那么这个myt就是解决方案

String StringwithoutBrages=mainstring.substring(1,mainstring.length()-1)

List loanidlist=new ArrayList();
String[]stringWithoutCommas=stringWithoutBraces.split(“,”);
for(字符串拆分:不带逗号的字符串){
String eachElement=splited.substring(1,splited.length()-1);
loanidlist.add(Long.parseLong(eachElement));
}
Long[]loanid=(Long[])loanidlist.toArray(新的Long[loanidlist.size());

看起来像JSON,为什么不试试JSON解析和parseLong呢?你能帮我一下吗?我看不懂。请定义你必须在其上执行操作的实际
字符串。[“1505213753057”、“150521385042”、“1505537148455”]这是我在RestAPI中得到的字符串。我想将其存储到长数组中。它看起来像
字符串数组
而不是
字符串
        List<Long> loanidlist=new ArrayList<>();
        String[] stringWithoutCommas=stringWithoutBraces.split(",");

        for(String splited:stringWithoutCommas){
            String eachElement=splited.substring(1,splited.length()-1);
            loanidlist.add(Long.parseLong(eachElement));
        }
        Long[] loanid=(Long[]) loanidlist.toArray(new Long[loanidlist.size()]);