Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/319.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 - Fatal编程技术网

在java中将字符串拆分为多个子字符串

在java中将字符串拆分为多个子字符串,java,Java,我是编程新手。 我有一根像 String input="|abc{123{asd|xyz{456{qwe"; 我必须把这根绳子分成三部分。 我期望的结果是 string1={"abc","xyz"} no={"123","456"} string2={"asd","qwe"} 有人能帮帮我吗。你可以使用以下工具: substring(int-beginIndex,int-endIndex)//返回一个新字符串,该字符串是该字符串的子字符串。 ()以便拆分字符串 试试这个: Strin

我是编程新手。
我有一根像

String input="|abc{123{asd|xyz{456{qwe";
我必须把这根绳子分成三部分。
我期望的结果是

string1={"abc","xyz"}  
no={"123","456"}  
string2={"asd","qwe"}

有人能帮帮我吗。

你可以使用以下工具:

substring(int-beginIndex,int-endIndex)//返回一个新字符串,该字符串是该字符串的子字符串。

()以便拆分字符串

试试这个:

String input = "|abc{123{asd|xyz{456{qwe";
//input length
int length= input.length();
int parts = length/3;

//three substrings
String s1 = input.substring(0, parts);
String s2 = input.substring(parts, 2*parts);
String s3 = input.substring(2*parts, length);
System.out.println("s1: "+s1+"\ns2: "+s2+"\ns3: "+s3);

Output is:
s1: |abc{123
s2: {asd|xyz
s3: {456{qwe

如果我们假设应该将字符串拆分为
{
|
,您可以提出类似的解决方案(这不是一个最佳解决方案,我没有对所有情况进行测试,但在这里)

请注意,在字符串连接中使用StringBuilder比使用字符串更有效。

string in=“|sha{1234{asd | sha1{4564{zxc”;
   String in = "|sha{1234{asd|sha1{4564{zxc";
        String[] string1, number, string2;
        String[] res = in.split("\\|");
        string1 = new String[res.length];
        number = new String[res.length];
        string2 = new String[res.length];
        for (int i1 = 1; i1 < res.length; i1++) {
            String[] temp = res[i1].split("\\{");
            string1[i1] = temp[0];
            number[i1] = temp[1];
            string2[i1] = temp[2];
        }
        for (int i = 1; i < string1.length; i++) {
            System.out.println(string1[i]);
            System.out.println(number[i]);
            System.out.println(string2[i]);
        }  
字符串[]string1,编号,string2; 字符串[]res=in.split(“\\\\”); string1=新字符串[res.length]; 数字=新字符串[res.length]; string2=新字符串[res.length]; for(int i1=1;i1
输出

1234
asd
sha1
4564

zxc

你至少试过了吗?是的,我试过了。我用split(“\\\\”)将字符串拆分为2。我得到了输出abc{123{asd和xyz{456{qwe.但是如果索引是未知的,我就不能使用它。所以你有一个长度和内容未知的字符串,你想把它分成3部分吗?这些部分应该相等吗?这是预期的/正确的输出吗?如果是的,那么你以前可以告诉我们,因为这不是任何人从你的原始帖子中猜到的。
{ abc,xyz }
{ 123,456 }
{ asd,qwe }
   String in = "|sha{1234{asd|sha1{4564{zxc";
        String[] string1, number, string2;
        String[] res = in.split("\\|");
        string1 = new String[res.length];
        number = new String[res.length];
        string2 = new String[res.length];
        for (int i1 = 1; i1 < res.length; i1++) {
            String[] temp = res[i1].split("\\{");
            string1[i1] = temp[0];
            number[i1] = temp[1];
            string2[i1] = temp[2];
        }
        for (int i = 1; i < string1.length; i++) {
            System.out.println(string1[i]);
            System.out.println(number[i]);
            System.out.println(string2[i]);
        }