Java 删除ArrayList中的空格和新行
我有一个ArrayList,以后需要比较。问题是如何让它变得漂亮?列表正在获取表单菜单元素 或者我只能断言文字?我用Java,谢谢 我尝试使用Java和Selenium WebDriver:Java 删除ArrayList中的空格和新行,java,list,selenium-webdriver,arraylist,split,Java,List,Selenium Webdriver,Arraylist,Split,我有一个ArrayList,以后需要比较。问题是如何让它变得漂亮?列表正在获取表单菜单元素 或者我只能断言文字?我用Java,谢谢 我尝试使用Java和Selenium WebDriver: String text=list.get(i).getText(); text.replaceAll(“^[,\\s]+”,”).split(“[,\\s]+”); 我打印的ArrayList如下: [Menu, General \n Export \n Layer M
String text=list.get(i).getText();
text.replaceAll(“^[,\\s]+”,”).split(“[,\\s]+”);
我打印的ArrayList如下:
[Menu, General \n
Export \n
Layer Manager, Reporting \n
Theme \n
Preferences \n
Labels \n
Reset Defaults \n
Report]
预期结果:
[Menu, General, Export, Layer Manager, Reporting, Theme, Preferences, Labels, Reset Defaults, Report]
这将用
,
替换\n
,并按预期输出。要删除空白,我们可以使用trim()并删除需要替换的换行符
list.stream().map(s -> s.replaceAll("\n",",").trim()).collect(Collectors.toList());
如果你做的是
String enter = System.getProperty("line.separator");
那么我相信你可以在进入时分开。我想这会更容易些。基本上你有一个包含两个元素的列表,如下所示:
[Menu, General \n Export \n Layer Manager, Reporting \n Theme \n Preferences \n Labels \n Reset Defaults \n Report]
大概通过这一行代码:
String text = list.get(i).getText();
您正在尝试获取第二个元素并将单词作为列表打印。因此,首先需要将字符串General\n Export\n Layer Manager,Reporting\n Theme\n Preferences\n Labels\n Reset Defaults\n Report
转换为一个数组,删除\n
,然后拆分()。您可以使用以下解决方案:
- 代码:
String text = list.get(i).getText();
//String text = "General \n Export \n Layer Manager, Reporting \n Theme \n Preferences \n Labels \n Reset Defaults \n Report";
String newText = text.replace(" \n "," ");
String strArray[] = newText.split(" ");
System.out.println("Output as Array List");
for(int i=0; i < strArray.length; i++){
System.out.println(strArray[i]);
List<String>myList = new ArrayList<>();
myList = Arrays.asList(strArray);
System.out.println("Output as List");
System.out.println(myList);
现在,您可以使用以下解决方案轻松地将数组转换为列表,以获得所需的输出:
- 代码:
String text = list.get(i).getText();
//String text = "General \n Export \n Layer Manager, Reporting \n Theme \n Preferences \n Labels \n Reset Defaults \n Report";
String newText = text.replace(" \n "," ");
String strArray[] = newText.split(" ");
System.out.println("Output as Array List");
for(int i=0; i < strArray.length; i++){
System.out.println(strArray[i]);
List<String>myList = new ArrayList<>();
myList = Arrays.asList(strArray);
System.out.println("Output as List");
System.out.println(myList);
是否要创建一个新数组,将每个值拆分(以便可以对每个值进行迭代),还是仅将输出更改为您给定的值?
Output as List
[General, Export, Layer, Manager,, Reporting, Theme, Preferences, Labels, Reset, Defaults, Report]