Tom*_*zyk 2 java iteration foreach loops
我有一个字符串:
<li>Coffee</li>
<li>Tea</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk last</li>
Run Code Online (Sandbox Code Playgroud)
我想对所有li标签进行交互(为了在标签之间添加一些文字):
for (char c: innerText.toCharArray()) {
if(c == '<'){
// process the text but in this way
//I iterate over whole text as a one line
}
}
Run Code Online (Sandbox Code Playgroud)
如果您不想使用解析器,可以使用正则表达式,如下所示:
String regex = "<li>((?:\\w|\\s)+)</li>";
String list = "..."; //your list
Matcher m = Pattern.compile(regex).matcher(list);
while (m.find())
{
String ofInterest = m.group(1);
//doSomething
}
Run Code Online (Sandbox Code Playgroud)
((?:\\w|\\s)+)
是一个捕获组,它从[A-Za-z_0-9]
任何空格中获取字符,其中+
表示必须至少有一个字符.使用*
,而不是是否有可能在之间没有字符.
m.group(1)
简单地提取在第一个捕获组的cooresponds 之间<li>
和之间的内容.</li>
1
您可以用您认为有效的任何内容替换捕获组内的内容.
这是一个关于正则表达式的教程.祝好运!