2016-03-08 87 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) –