我有一個字符串爲:字符串操作從一個檢索兩串字符串
String identifier ="fmt{value}";
現在我需要一種方法來操縱這個字符串得到標識符
String format="fmt";
String value="value";
任何兩個字符串正則表達式或本地Java代碼來操作。
我有一個字符串爲:字符串操作從一個檢索兩串字符串
String identifier ="fmt{value}";
現在我需要一種方法來操縱這個字符串得到標識符
String format="fmt";
String value="value";
任何兩個字符串正則表達式或本地Java代碼來操作。
String identifier ="fmt{value}";
String s[] = identifier.split("\\{|\\}");
System.out.println(s[0]);
System.out.println(s[1]);
是的,你應該能夠用正則表達式來做到這一點。
Pattern pattern;
Matcher matcher;
pattern = Pattern.compile("");//here your regex
matcher = pattern.matcher(identifier);
while(matcher.find()) {
//here your result
}
玩得開心:)
剛剛嘗試這一點,它可以幫助你
import java.util.StringTokenizer;
public class Sample {
public static void main(String[] args) {
String identifier = "fmt{value}";
StringTokenizer st = new StringTokenizer(identifier, "{}");
System.out.println("---- Split by {} ------");
while (st.hasMoreElements()) {
System.out.println(st.nextElement());
}
}
}
嘗試使用split()
String identifier = "fmt{value}";
String format = identifier.split("\\{")[0];
String value = identifier.split("\\{")[1].split("\\}")[0];
System.out.println(format+" " +value);
輸出:
fmt value
這在計算上相當昂貴:'split'不便宜。 – Bathsheba
試試這個:
public void testSplit() {
String identifier ="fmt{value}";
String[] result = identifier.split("\\{|\\}");
for(String s: result) {
System.out.println(s);
}
}
是的,有are.You可以做到這一點。 –
你嘗試了什麼? –
可以自己和/或價值本身包含大括號? – Bathsheba