Java 中的正则表达式 - 解析字符串数组

我有一个这样的字符串数组:


    String tweetString = ExudeData.getInstance().filterStoppingsKeepDuplicates(tweets.text);

    // get array of words and split

    String[] wordArray = tweetString.split(" ");

拆分数组后,我打印以下内容:


System.out.println(Arrays.toString(wordArray));

我得到的输出是:


[new, single, fallin, dropping, days, artwork, hueshq, production, iseedaviddrums, amp, bigearl7, mix, reallygoldsmith, https, , , t, co, dk5xl4cicm, https, , , t, co, rvqkum0dk7]

我想要的是删除逗号,https和单个字母(如“t”)的所有实例(使用上述方法后)。所以我想以这个结束:split


[new, single, fallin, dropping, days, artwork, hueshq, production, iseedaviddrums, amp, bigearl7, mix, reallygoldsmith, co, dk5xl4cicm, https, co, rvqkum0dk7]

我尝试过做替换所有像这样:


String sanitizedString = wordArray.replaceAll("\\s+", " ").replaceAll(",+", ",");

但这只是给了我相同的初始输出,没有变化。有什么想法吗?


一只甜甜圈
浏览 154回答 3
3回答

九州编程

如果您使用的是 Java 8String[] result = Arrays.stream(tweetString.split("\\s+"))             .filter(s -> !s.isEmpty())             .toArray(String[]::new);我想要的是删除逗号,https和单个字母(如“t”)的所有实例在这种情况下,您可以制作多个过滤器,例如@Andronicus这样做或与匹配和一些正则表达式,如下所示:String[] result = Arrays.stream(tweetString.split("\\s+"))             .filter(s -> !s.matches("https|.|\\s+"))             .toArray(String[]::new);

有只小跳蛙

你可以做这样的事情:String[] filtered = Arrays     .stream(tweetString.split("[ ,]"))     .filter(str -> str.length() > 1)     .filter(str -> !str.equals("http"))

阿晨1998

根据我的评论,这里是快速解决方案。(使用所有关键字增强正则表达式)&nbsp;private&nbsp;static&nbsp;void&nbsp;replaceFromRegex(final&nbsp;String&nbsp;text&nbsp;)&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;result&nbsp;=&nbsp;text.replaceAll("https($|\\s)|&nbsp;(?<!\\S)[^&nbsp;](?!\\S)",""); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(result); &nbsp;&nbsp;}然后测试&nbsp;&nbsp;public&nbsp;static&nbsp;void&nbsp;main(String&nbsp;[]args)&nbsp;throws&nbsp;Exception{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;replaceFromRegex("new&nbsp;single&nbsp;fallin&nbsp;dropping,&nbsp;,&nbsp;https"); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}注意:这只是示例,您必须增强正则表达式以考虑起始单词(例如,以https开头的字符串,然后是空格等)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java