簡體   English   中英

Java - 從字符串中第二個最后出現的字符獲取 substring

[英]Java - Get substring from 2nd last occurrence of a character in string

我的輸入: "professions/medical/doctor/"

我想要的 output: "doctor"

我有以下解決方案,但它不是單行的:

String v = "professions/medical/doctor/";
String v1 = v.substring(0, v.length() - 1);
String v2 = v1.substring(v1.lastIndexOf("/")+1, v1.length());
System.out.println(v2);

我怎樣才能在單行中達到同樣的效果?

我可能會在這里使用String#split (需要一個或兩個行的解決方案):

String v = "professions/medical/doctor/";
String[] parts = v.split("/");
String v2 = parts[parts.length-1];
System.out.println(v2);

如果你知道你想要第三個組件,那么你可以使用:

System.out.println(v.split("/")[2]);

對於真正的單線, String#replaceAll可能會起作用:

String v = "professions/medical/doctor/";
String v2 = v.replaceAll(".*/([^/]+).*", "$1");
System.out.println(v2);

使用lastIndexOf(str, fromIndex)變體:

String v2 = v.substring(v.lastIndexOf('/', v.length() - 2) + 1, v.length() - 1);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM