[英]Regex to display a string from the second last occurence of a character
需要一個正則表達式來顯示字符的倒數第二個出現的字符串
示例:“ / folder1 / folder2 / folder3 / folder4 /”
在這種情況下,如果我要求從last開始第二次出現斜杠(/),它會出現在folder4之前,並且我希望從字符的第二次出現返回子字符串。
即返回字符串應為folder4 /
在php中:
$str = "/folder1/folder2/folder3/folder4/";
$str = preg_replace('#^.*/([^/]+/[^/]*)$#', "$1", $str);
在perl中:
$str = "/folder1/folder2/folder3/folder4/";
$str =~ s#^.*/([^/]+/[^/]*)$#$1#;
- 1
作為第二個lastIndexOf()
參數 substring()
參數 像這樣:
final String example = "/folder1/folder2/folder3/folder4/";
final String result = example.substring(example.lastIndexOf('/', example.lastIndexOf('/') - 1), example.length() - 1);
System.out.printf("%s\n", result);
或更具可讀性
final String example = "/folder1/folder2/folder3/folder4/";
int pos;
pos = example.lastIndexOf('/');
pos = example.lastIndexOf('/', pos - 1);
result = example.substring(pos, example.length - 1);
System.out.println(result);
在Java中:
String fileName = "/folder1/folder2/folder3/folder4/";
ArrayList<String> arr = new ArrayList<>();
Pattern p = Pattern.compile("(.*?)\/");
Matcher m = p.matcher(fileName);
while(m.find())
{
arr.add(m.group(1));
}
return arr.get(arr.size()-2);
其中2出現。 這使您可以將所有內容分組,以便您也可以處理其他組。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.