檢索特定的值,有一個包含值的字符串字段:我如何從字符串在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