繁体   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