我有一个字符串(s)(不是Path
或File
-path)如下:
String str1 = "/first/second/third/fourth/fifth";
String str2 = "/foo/bar/blah";
给定:字符串总是以斜杠开头,并且保证至少有两个斜杠(也可以更多,如上所述),然后是一些子字符串。
现在我试图捕获整个子串"after-first-two-slashes"
。这样我的输出就变成:
Output:
str1_becomes = /second/third/fourth/fifth
str2_becomes = /bar/blah
请注意,我也想保留前面的斜杠。我应该遵循什么有效的方法来实现它?我在这里迷路了,需要一些方向/线索。最好基于java 1.8+。
您可以使用简单的字符串操作轻松地做到这一点。
如果字符串总是以斜杠开始并且有两个斜杠,则可以使用indexOf来查找第二个斜杠的位置:
str1.indexOf('/',1);
查找以第二个字符开头的第一个斜杠。
之后,您可以使用substring来获取结果字符串(从您刚刚找到的索引开始):
str1.substring(str1.indexOf('/',1));
如果第一个斜杠不一定是第一个字符,则可以使用indexOf搜索第一个斜杠,并使用该结果+1作为搜索第二个斜杠的开始索引:
str1.substring(str1.indexOf('/',str1.indexOf('/')));