0

我有一个包含值的字符串字段:

 String a = "Local/5028@from-queue-bd7f,1";

现在根据我的需要,我需要从上面的字符串字段中提取值“5028”。

4

6 回答 6

3

/ 这会在每个和 上拆分字符串@

String a = "Local/5028@from-queue-bd7f,1";
System.out.println(a.split("[/@]")[1]);
于 2012-12-04T11:58:44.877 回答
1

使用String#substring函数检索值。您需要将开始和结束索引作为参数传递。

String a = "Local/5028@from-queue-bd7f,1";
System.out.println(a.substring(a.indexOf('/')+1, a.indexOf('@')));
于 2012-12-04T11:56:05.530 回答
0

如果您知道您的格式是一致的,那么您可以使用 substring 方法,也可以使用 / 和 @ 拆分字符串,然后从 tokens 数组中获取第二个值。

于 2012-12-04T11:55:54.797 回答
0

如果此字符串始终采用给定格式,那么您可以尝试以下操作:

String temp=a.split("@")[0];
System.out.println(temp.substring(temp.length()-4,temp.length()));
于 2012-12-04T11:57:04.593 回答
0

使用正则表达式:

 String a = "Local/5028@from-queue-bd7f,1";
         Pattern p = Pattern.compile("\\d+");
         Matcher m = p.matcher(a);
         System.out.println(m.find() + " " + m.group());

使用 String.Split:

String a = "Local/5028@from-queue-bd7f,1";
         String[] split = a.split("/");
         System.out.println(split[1].split("@")[0]);
于 2012-12-04T12:01:45.187 回答
0

如果您的字符串格式是固定的,您可以使用:

String a = "Local/5028@from-queue-bd7f,1";
a = a.substring(a.indexOf('/') + 1, a.indexOf('@'));
System.out.println(a);
于 2012-12-04T12:03:48.490 回答