gpt4 book ai didi

java - 如何循环遍历数组并从 ArrayList 创建子字符串?

转载 作者:行者123 更新时间:2023-12-01 12:15:37 27 4
gpt4 key购买 nike

我试图通过将错误添加到数组中来解析 HTML 验证错误,然后循环遍历数组,去掉错误的第一部分(例如 ValidationError line 23 col 40:),然后我只想将文本保留在单引号内并将其保存到新列表中。

这是我所做的工作,但我知道它不可扩展,并且仅适用于 String fullText 而不是 ArrayList 列表,所以这就是我需要帮助的内容。谢谢!

package htmlvalidator;

import java.util.ArrayList;

public class ErrorCleanup {

public static void main(String[] args) {
//Saving the raw errors to an array list
ArrayList<String> list = new ArrayList<String>();

//Add the text to the first spot
list.add("ValidationError line 23 col 40:'Bad value ius-cors for attribute name on element meta: Keyword ius-cors is not registered.'");

//Show what is in the list
System.out.println("The full error message is: " + list);

String fullText = "ValidationError line 23 col 40:'Bad value ius-cors for attribute name on element meta: Keyword ius-cors is not registered.'";

//Show just the actual message
System.out.println("The actual error message is: " + fullText.substring(fullText.indexOf("'") + 1));


}

}

最佳答案

使用 foreach 循环:

List<String> list = new ArrayList<String>();
List<String> msgs = new ArrayList<String>();
for (String s : list) {
msgs.add(s.replaceAll(".*'(.*)'.*", "$1"));
}
list = msgs;

使用正则表达式提取字符串更干净,并且仍然具有足够的可扩展性。

关于java - 如何循环遍历数组并从 ArrayList 创建子字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27028457/

27 4 0