检索特定的值,有一个包含值的字符串字段:我如何从字符串在java中
String a = "Local/[email protected],1";
现在按我的需要,我需要的值“5028”从上面的字符串字段中提取。
检索特定的值,有一个包含值的字符串字段:我如何从字符串在java中
String a = "Local/[email protected],1";
现在按我的需要,我需要的值“5028”从上面的字符串字段中提取。
此拆分每个/
和@
的字符串。
String a = "Local/[email protected],1";
System.out.println(a.split("[/@]")[1]);
如果你知道你的格式是一致的,那么你可以使用substring方法,或者你可以使用/和@分割字符串,然后从令牌数组中取第二个值。
使用String#substring
函数检索值。您需要将开始和结束索引作为参数传递。
String a = "Local/[email protected],1";
System.out.println(a.substring(a.indexOf('/')+1, a.indexOf('@')));
-1允许幻数,而不是真正的通用解决方案。这也是一个容易出错的解决方案。 – sakthisundar
@sakthisundar - 代码已更新 –
如果这个字符串总是在给定的格式,那么你可以试试这个:
String temp=a.split("@")[0];
System.out.println(temp.substring(temp.length()-4,temp.length()));
使用正则表达式:
String a = "Local/[email protected],1";
Pattern p = Pattern.compile("\\d+");
Matcher m = p.matcher(a);
System.out.println(m.find() + " " + m.group());
使用String.Split:
String a = "Local/[email protected],1";
String[] split = a.split("/");
System.out.println(split[1].split("@")[0]);
,如果你的字符串格式是固定的,你可以使用:
String a = "Local/[email protected],1";
a = a.substring(a.indexOf('/') + 1, a.indexOf('@'));
System.out.println(a);
先生我有一个案例字符串a =“本地/ 5028-from-queue-bd7f,1”; PLz告诉我如何在代码 – Amit
中再次组合这个条件,如果你的字符串是固定的,处理两者 –
你尝试过什么吗?例如RegExp? –
该值是否总是从相同的位置开始,还是始终在'/'和'@'之间,还是完全不同的规则? –
先生,我试图通过分割字符串值来执行此操作。 – Amit