我想從字符串中獲取一些值。例如:從Java中的字符串獲取特定值
String string= "Name: armand," + "Age: 22," + "etc";
我怎樣才能得到例如使用正則表達式的名稱?
我用正則表達式很糟糕,所以我不知道如何解決這個問題。
我想從字符串中獲取一些值。例如:從Java中的字符串獲取特定值
String string= "Name: armand," + "Age: 22," + "etc";
我怎樣才能得到例如使用正則表達式的名稱?
我用正則表達式很糟糕,所以我不知道如何解決這個問題。
取決於你真正想要做什麼,例如,如果你只想獲得給定鍵的值,假設鍵和值由冒號和鍵/值分隔逗號分隔,你可以拆分以這種方式串首先由逗號,然後用冒號:
String[] couple = string.split(",");
for(int i =0; i < couple.length ; i++) {
String[] items =couple[i].split(":");
items[0]; //Key
items[1]; //Value
}
如果你想用正則表達式,你可以這樣做的做到這一點:
String string = "Name:armand,Age:22,";
Pattern pattern = Pattern.compile("(\\w+?):(\\w+?),");
Matcher matcher = pattern.matcher(string);
while (matcher.find()) {
String key = matcher.group(1);
String value = matcher.group(2);
System.out.println("Key : " + key + " value : " + value);
}
謝謝。使用split很容易。我知道知道,我必須學習更多關於正則表達式:)。 –
對不起,它的樣子是這樣的名字:armand,年齡:22,等等。但是我在正則表達式中很糟糕,這對我來說很難解決。
鑑於String s = "Name:armand,Age:22";
這裏是一個暗示:
s.split(",")[0].split(":")
會給你armand
,
s.split(",")[1].split(":")
會給你22
不需要正則表達式的知識。
一些人,當遇到一個問題,認爲「我知道,我將使用 正則表達式。」現在他們有兩個問題。 - 傑米Zawinski
你可以改變這個來使用'substring'。 'split'方法將任何輸入視爲RegEx並試圖編譯它,無論你是否意圖。 – adarshr
@JarrodRoberson感謝它的工作 –
那麼貴字符串看起來像這樣? '「名稱:armandAge:22」'...... – birryree
您將它匹配到名稱後最後的所有內容 – keyser
確切地說,域之間似乎沒有任何分隔符。 –