【问题标题】:Customize parsing for string array in Java在 Java 中自定义字符串数组的解析
【发布时间】:2026-01-15 05:50:01
【问题描述】:

我有一个这样的字符串数组(来自 Twitter):

String str= "The Green New Deal is viable. It is the same vision that FDR had for his New Deal programs: nationwide mobilization http://94739 #thegreendeal #nationwide"

我想要的是 1) 将此字符串转换为数组 2) 删除停用词并包括词干 3) 删除除表示术语是主题标签的“#”之外的所有字符。

所以我尝试使用这个很酷的库https://github.com/uttesh/exude,它可以进行词干提取和删除停用词,以及小写和删除字符。问题是这会删除主题标签。 代码:

String tweetString = ExudeData.getInstance().filterStoppingsKeepDuplicates(str);

我也试过这个:

String[] wordArray = str.replaceAll("[^a-zA-Z ]", "").toLowerCase().split("\\s+");

但这也会删除主题标签。使用任何一种方法来保留主题标签的任何解决方法? (我更愿意为此保留 exude 库)

【问题讨论】:

  • 在处理之前提取主题标签。如果需要,在处理后重新添加。
  • 好主意,你能告诉我这是什么样子吗?

标签: java arrays string parsing


【解决方案1】:

使用正则表达式的方法,您可以尝试在不应删除的字符列表中添加#,如下所示:

        String[] wordArray = str.replaceAll("[^a-zA-Z #]", "").toLowerCase().split("\\s+");

【讨论】:

    最近更新 更多