如何从java中的String中检索特定值

时间:2012-12-04 11:52:57

标签: java string

我有一个String字段,其中包含值:

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

现在根据我的需要,我需要从上面的String字段中提取值'5028'。

6 个答案:

答案 0 :(得分:3)

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

String a = "Local/5028@from-queue-bd7f,1";
System.out.println(a.split("[/@]")[1]);

答案 1 :(得分:1)

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

String a = "Local/5028@from-queue-bd7f,1";
System.out.println(a.substring(a.indexOf('/')+1, a.indexOf('@')));

答案 2 :(得分:0)

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

答案 3 :(得分:0)

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

String temp=a.split("@")[0];
System.out.println(temp.substring(temp.length()-4,temp.length()));

答案 4 :(得分:0)

使用REGEX:

 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]);

答案 5 :(得分:0)

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

String a = "Local/5028@from-queue-bd7f,1";
a = a.substring(a.indexOf('/') + 1, a.indexOf('@'));
System.out.println(a);