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

删除 ArrayList 中每个索引的前导空格

删除 ArrayList 中每个索引的前导空格

米琪卡哇伊 2022-07-27 20:40:12
所以,除了修剪功能,一切都很好。我不知道它是否有效。实际上我正在使用 ArrayList 制作倒排索引。从文件中获取行,拆分成单词(标记化)并删除标点符号。当我谈到删除停用词的部分时,它与文件中提供的停用词不匹配。我认为这是因为 ArrayList 的每个索引的前导空间。停用词列表:a, is, the, of, all, and, to, can, be, as, once, for, at, am, are, has, have, had, up, his, her, in, on, no, we, do我的策略:String [] TempArray = new String[word.size()];for (int i = 0; i < word.size(); i++) {    word.set(i, word.get(i).toLowerCase());    word.set(i, word.get(i).replaceAll("[^a-zA-Z]", ""));}   for (int i = 0; i < word.size(); i++) {    TempArray[i] = word.get(i);    TempArray[i] = TempArray[i].trim();    word.set(i, TempArray[i]);    System.out.println(word.get(i));}输出:[a, blunder, by, anton, chekhov, , an, illustration, for, the, story, a, blunder, by, the, author, anton, chekhov, portrait, of, ivan, lazhechnikov...]任何形式的建议将不胜感激!
查看完整描述

2 回答

?
繁华开满天机

TA贡献1816条经验 获得超4个赞

怎么样:

Arrays.stream(TempArray)
    .filter(s -> s != null)
    .map(String::trim)
    .toArray(String[]::new);

这将创建没有前导或尾随空格的新数组。


查看完整回答
反对 回复 2022-07-27
?
拉风的咖菲猫

TA贡献1995条经验 获得超2个赞

只是为了扩展一点@Andronicus 的答案,这也会从结果数组中删除空字符串。

Arrays.stream(TempArray)
    .filter(Objects::nonNull)
    .map(String::trim)
    .filter(!String::isEmpty)
    .toArray(String[]::new);


查看完整回答
反对 回复 2022-07-27
  • 2 回答
  • 0 关注
  • 105 浏览

添加回答

举报

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