簡體   English   中英

如何使用Stringtokenizer通過動態數據在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是一個遺留類,出於兼容性原因而保留,盡管在新代碼中不鼓勵使用它。 建議任何尋求此功能的人改用Stringsplit方法或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.

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