Java:使用拆分器的第一个匹配项从一个字符串中提取两个字符串?

Java:使用拆分器的第一个匹配项从一个字符串中提取两个字符串?,java,Java,我有这样的字符串: String a = "URL:www.blahblah.com:/username" 我希望能够在第一次出现:之前提取字符串的第一部分,然后在第一次出现:之后提取字符串的其余部分 因此,我最终会: String one = "URL" String two = "www.blahblah.com:/username" 谢谢 String[] parts = a.split(":", 1); ,int) ,int)试试这个: String a = "URL:www.b

我有这样的字符串:

String a = "URL:www.blahblah.com:/username"
我希望能够在第一次出现
之前提取字符串的第一部分,然后在第一次出现
之后提取字符串的其余部分

因此,我最终会:

String one = "URL"
String two = "www.blahblah.com:/username" 
谢谢

String[] parts = a.split(":", 1);
,int)

,int)

试试这个:

String a = "URL:www.blahblah.com:/username";
int index = a.indexOf(":");
String before = a.substring(0,index);
String after = a.substring(index+1);
如果您使用
split
,第二个冒号很重要,您将得到3个字符串,即“URL”、“www.blahblah.com”和“/username”,据我所知,这不是您想要的。但是,请注意,重载方法
split(String,int)
将帮助您控制应用拆分器模式的次数,因此您仍然可以使用
split
这样做:

a.split(":",2);    
试试这个:

String a = "URL:www.blahblah.com:/username";
int index = a.indexOf(":");
String before = a.substring(0,index);
String after = a.substring(index+1);
如果您使用
split
,第二个冒号很重要,您将得到3个字符串,即“URL”、“www.blahblah.com”和“/username”,据我所知,这不是您想要的。但是,请注意,重载方法
split(String,int)
将帮助您控制应用拆分器模式的次数,因此您仍然可以使用
split
这样做:

a.split(":",2);    

你有几个选择。你可以有限制地使用

String a = "URL:www.blahblah.com:/username";
String [] res = a.split(":", 2);
System.out.println(Arrays.toString(res));
或者你可以使用,然后使用相对索引

int pos = a.indexOf(":");
String b = a.substring(0, pos);
String c = a.substring(pos+1);
System.out.printf("part 1 = %s, part 2 = %s%n", b, c);
我得到了(分别)


你有几个选择。你可以有限制地使用

String a = "URL:www.blahblah.com:/username";
String [] res = a.split(":", 2);
System.out.println(Arrays.toString(res));
或者你可以使用,然后使用相对索引

int pos = a.indexOf(":");
String b = a.substring(0, pos);
String c = a.substring(pos+1);
System.out.printf("part 1 = %s, part 2 = %s%n", b, c);
我得到了(分别)


字符串类中有一个名为“split”的方法。
对于上述字符串a,您可以使用:

a.split(':', 2);
它返回一个字符串数组。
这里第一个参数是reg ex,第二个参数是您想要的字符串数

字符串类中有一个名为“split”的方法。
对于上述字符串a,您可以使用:

a.split(':', 2);
它返回一个字符串数组。
这里第一个参数是reg ex,第二个参数是您想要的字符串数

你的问题是什么?我不想让你为我写一门课。我有一个字符串,我想在我的示例中第一次出现“符号”时将它分成两部分:“‘你的问题是什么?我不想你为我写一个类。我有一个字符串,我希望能够在我的示例“:”
a.split(“:”,2)中第一次出现“sign”时将其拆分为两部分,而不是
a.split(“:”,1)
a.split(“:”,2),而不是
a.split(“:”,1)我想说您提供的第一个选项比较整洁。像你提供的第二种选择那样做有什么好处吗?Thanks@Mo.不要担心像那样的微优化。选择你喜欢的。最后一个问题。为什么在“:”之前有两个反斜杠?将其用作实际字符串而不是正则表达式保留符号后,是否确保该值?@Mo.是。冒号不是。所以可以安全地移除。事实上我会编辑它。习惯的力量。@Mo。它分散了答案的注意力。我刚刚对你的评论投了赞成票,这就说明了这一点我想说你提供的第一个选择是比较整洁的。像你提供的第二种选择那样做有什么好处吗?Thanks@Mo.不要担心像那样的微优化。选择你喜欢的。最后一个问题。为什么在“:”之前有两个反斜杠?将其用作实际字符串而不是正则表达式保留符号后,是否确保该值?@Mo.是。冒号不是。所以可以安全地移除。事实上我会编辑它。习惯的力量。@Mo。它分散了答案的注意力。我刚刚对你的评论投了赞成票,这就说明了这一点