删除 ArrayList 中的空格和新行

我有一个 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 \n

Theme \n

      Preferences \n

            Labels \n

            Reset Defaults \n

      Report]

预期结果:


[Menu, General, Export, Layer Manager, Reporting, Theme, Preferences, Labels, Reset Defaults, Report]


BIG阳
浏览 208回答 4
4回答

喵喵时光机

为了删除空格,我们可以使用 trim() 并删除我们需要替换的换行符,list.stream().map(s -> s.replaceAll("\n",",").trim()).collect(Collectors.toList());

不负相思意

text.replaceAll("\\n", ",");这将替换\n为,并按预期提供输出。

慕的地6264312

本质上你有一个包含 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++){&nbsp; &nbsp; System.out.println(strArray[i]);控制台输出:GeneralExportLayerManager,ReportingThemePreferencesLabelsResetDefaultsReport现在,您可以使用以下解决方案轻松地将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]

桃花长相依

如果你用String&nbsp;enter&nbsp;=&nbsp;System.getProperty("line.separator");那么我相信你可以在进入时分裂。我猜这让事情变得更容易了。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java