如何为每一行字符串应用foreach循环

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)

Ste*_* P. 5

如果您不想使用解析器,可以使用正则表达式,如下所示:

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

您可以用您认为有效的任何内容替换捕获组内的内容.

这是一个关于正则表达式的教程.祝好运!