【发布时间】:2019-08-03 01:42:43
【问题描述】:
我有一个这样的字符串数组:
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(",+", ",");
但这只是给了我相同的初始输出,没有任何变化。有什么想法吗?
【问题讨论】:
-
如果您提供原始输入,则更容易回答。请注意,
split本身采用正则表达式。你可能想从那开始。 -
@Mena - 是的,如果您阅读了我的实际问题,我想在使用 split 方法后解析出上面提到的字符串
-
输出数组中似乎没有逗号,只有空字符串。
-
另外,
wordArray是一个数组,所以你不可能在上面使用replaceAll- 它不会编译。 -
哦,好点,感谢您指出这些! @RealSkeptic
标签: java arrays regex string java-8