[英]I can't split string into token using StringTokenizer in java
[英]How to split a string in java using stringtokenizer by dynamic data
我正在從數據庫獲取動態數據,其格式為/ name / exam / 0oecda251d73jf82m33m92 / run 。
但是現在我只想要0oecda251d73jf82m33m92如何在Java中獲得它。 我嘗試使用stringtokenizer類,但未獲得正確的結果。
我將使用正則表達式和Pattern
。 就像是,
String str = "/name/exam/0oecda251d73jf82m33m92/run";
Pattern p = Pattern.compile("/.*/.*/(.*)/run");
Matcher m = p.matcher(str);
if (m.matches()) {
System.out.println(m.group(1));
}
或使用String.split(String)
; StringTokenizer
Javadoc說(部分), StringTokenizer
是一個遺留類,出於兼容性原因而保留,盡管在新代碼中不鼓勵使用它。 建議任何尋求此功能的人改用String
的split
方法或java.util.regex
包。
就像是,
String[] arr = str.split("/");
if (arr.length > 3) {
System.out.println(arr[3]);
}
兩者都輸出
0oecda251d73jf82m33m92
使用String類的split
函數。
String s[] = "/name/exam/0oecda251d73jf82m33m92/run".split("/");
System.out.println(s[3]);
正如上面的回答所說,如果要使用split
建議不要在新代碼中使用StringTokenizer
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.