为了账号安全,请及时绑定邮箱和手机立即绑定

删除 ArrayList 中的空格和新行

删除 ArrayList 中的空格和新行

BIG阳 2023-06-04 16:50:45
我有一个 ArrayList 需要稍后进行比较。问题是如何让它漂亮?该列表正在获取表单菜单元素。还是我只能断言?我用Java,谢谢。我使用 Java 和 Selenium WebDriver 尝试了这个:String text = list.get(i).getText();      text.replaceAll("^[.,\\s]+", "").split("[.,\\s]+");我打印的 ArrayList 如下:[Menu, General \n      Export \n            Layer Manager, Reporting \nTheme \n      Preferences \n            Labels \n            Reset Defaults \n      Report]预期结果:[Menu, General, Export, Layer Manager, Reporting, Theme, Preferences, Labels, Reset Defaults, Report]
查看完整描述

4 回答

?
喵喵时光机

TA贡献1846条经验 获得超7个赞

为了删除空格,我们可以使用 trim() 并删除我们需要替换的换行符,

list.stream().map(s -> s.replaceAll("\n",",").trim()).collect(Collectors.toList());



查看完整回答
反对 回复 2023-06-04
?
不负相思意

TA贡献1777条经验 获得超10个赞

text.replaceAll("\\n", ",");

这将替换\n,并按预期提供输出。


查看完整回答
反对 回复 2023-06-04
?
慕的地6264312

TA贡献1817条经验 获得超6个赞

本质上你有一个包含 2 个元素的列表:


[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();

您正在尝试获取第二个元素并将单词打印为List。所以首先你需要将字符串转换General \n Export \n Layer Manager, Reporting \n Theme \n Preferences \n Labels \n Reset Defaults \n Report成一个数组,删除\n然后split()对它们进行编辑。您可以使用以下解决方案:


代码:


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]);

控制台输出:


General

Export

Layer

Manager,

Reporting

Theme

Preferences

Labels

Reset

Defaults

Report

现在,您可以使用以下解决方案轻松地将Array转换为List以获得所需的输出:


代码:


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]



查看完整回答
反对 回复 2023-06-04
?
桃花长相依

TA贡献1860条经验 获得超8个赞

如果你用

String enter = System.getProperty("line.separator");

那么我相信你可以在进入时分裂。我猜这让事情变得更容易了。


查看完整回答
反对 回复 2023-06-04
  • 4 回答
  • 0 关注
  • 207 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信