我的字符串看起来像这样:
String a = "URL:www.blahblah.com:/username"
我希望能够在第一次出现:
之前提取字符串的第一部分,然后在第一次出现:
之后提取字符串的其余部分
所以我最终会:
String one = "URL"
String two = "www.blahblah.com:/username"
谢谢
答案 0 :(得分:3)
你有几个选择。您可以使用带有限制的String#split(String, int)
String a = "URL:www.blahblah.com:/username";
String [] res = a.split(":", 2);
System.out.println(Arrays.toString(res));
或者您可以使用indexOf(int)
然后将substring与相对索引
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);
我在这里得到(分别)
[URL, www.blahblah.com:/username]
part 1 = URL, part 2 = www.blahblah.com:/username
答案 1 :(得分: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);
答案 2 :(得分:1)
String[] parts = a.split(":", 1);
http://docs.oracle.com/javase/6/docs/api/java/lang/String.html#split(java.lang.String,int)
答案 3 :(得分:1)
String类中有一个名为" split"。的方法 对于您的上述字符串a,您可以使用:
a.split(':', 2);
它返回一个字符串数组。 这里的第一个参数是reg-ex,第二个参数是你想要的字符串数。