java 截取字符串????

给你一个字符串例如"/aa/rver/ta/client"我想截取后的字符串为"ta/client"。该字符串已知,还有该字符串的子字符串已知(例如上例中字符串中的子字符串rver给出)。这个怎么写

3个回答

如果字符串已知字符串已知,可以使用String 提供的两个重载方法substring(int beginIndex)和substring(int beginIndex,int endIndex) 来完成,例如你上面的字符串我们可以这样截取:
[code="java"]
String sub = "/aa/rver/ta/client" ;
sub = sub.substring(9) ;
System.out.println(sub) ;
[/code]

如果要获取指定字符串,也可以这样取:
比如要截取"rver":
[code="java"]
String sub = "/aa/rver/ta/client" ;
sub = sub.substring(4 , 8) ;
System.out.println(sub) ;
[/code]

也可以使用正则表达式:
[code="java"]
String sub = "/aa/rver/ta/client" ;
Pattern pattern = Pattern.compile("\w{2}/\w{6}") ;
Matcher matcher = pattern.matcher(sub);
if(matcher.find())
{
System.out.println(matcher.group());
}
[/code]

jz20110918
村野樵夫 思路是极好的,但是你的前提给了局限性,因为字符串是动态获取的,所以你的方法需要改进。不过还是挺感谢你的回复,这个问题已经解决。分就给你了
接近 7 年之前 回复

截取子字符串后的所有字符?String a = "/aa/rver/ta/client"; String[] b = s.split("/rver/"); b[1] 就是 “ta/client”

jz20110918
村野樵夫 关键是字符串个数未知,还是需要通过字符串的length来截取才行!
接近 7 年之前 回复
zyn010101
zyn010101 记得结贴啊
接近 7 年之前 回复
xiaokanrensheng87
xiaokanrensheng87 我运行过了,结果right!
接近 7 年之前 回复

public static void main(String[] args) {
String str="/aa/rver/ta/client";
String a[]=str.split("rver/");
String cutstr=a[1];
System.out.println(cutstr);//即cutstr就是ta/client;就是截取后的结果;
}

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问