2016-03-08 105 views
0

我有很長的字符串外幣看起來像以下:如何解析HTML元素?

...<option value="USD">USD - United States Dollar</option> <option value="JPY">JPY - Japanese Yen</option>... 

什麼是爲了以最快的方式來提取2個值:

USD 
USD - United States Dollar 
+1

我不知道什麼是「最快」的方式,但[jsoup.org](http://jsoup.org)。 –

+0

你的意思是你如何從字符串''提取''X'和'Y'? – Assaf

+0

@Assaf是的,這是我想要做的 –

回答

1

如果它真的只是讓某些子出來的字符串,然後我會在這裏與正則表達式。

使用捕獲組(確保它不是貪婪)來獲取您感興趣的字符串部分(在這種情況下爲value屬性和標記內容)。

val str = 
    """<option value="USD">USD - United States Dollar</option><option value="JPY">JPY - Japanese Yen</option>""" 
val pattern = """<option value="(.+?)">(.+?)</option>""".r 

pattern.findAllMatchIn(str).foreach(x => println(x.group(1) + " " + x.group(2))) 
/* output: 
* USD USD - United States Dollar 
* JPY JPY - Japanese Yen 
*/ 
+0

也許你可以直接使用:'pattern.findAllMatchIn(str).foreach(x => println(x.group(1)+「」+ x.group(2)))' – chengpohi

+0

正確的先生,請考慮我。 – Assaf

+0

使用正則表達式來解析html是[一般不是一個好主意](http://stackoverflow.com/a/1732454/2292812) –