gpt4 book ai didi

java - 从文本文件中删除选定的单词?

转载 作者:行者123 更新时间:2023-11-30 07:26:38 34 4
gpt4 key购买 nike

我必须从文本文件中删除常用词,例如 (is,are,am,was 等)。在 Java 中执行此操作的有效方法是什么?

最佳答案

您必须读入文件,跳过要删除的单词,然后再次写回文件。

因此,您可能更愿意在每次阅读时跳过您想要忽略的词 - 取决于您的用例。

要实际逐行删除单词(这可能不是您想要的方式),您可以这样做(使用 google guava ):

    // the words you want to remove from the file:
//
Set<String> wordsToRemove = ImmutableSet.of("a", "for");

// this code will run in a loop reading one line after another from the file
//
String line = "Some words read from a file for example";
StringBuffer outputLine = new StringBuffer();
for (String word : Splitter.on(Pattern.compile("\\s+")).trimResults().omitEmptyStrings().split(line)) {
if (!wordsToRemove.contains(word)) {
if (outputLine.length() > 0) {
outputLine.append(' ');
}
outputLine.append(word);
}
}

// here I'm just printing, but this line could now be written to the output file.
//
System.out.println(outputLine.toString());

运行这段代码会输出:

Some words read from file example

即省略了“a”和“for”。

请注意,这会生成简单的代码,但是,它会更改文件中的空白格式。如果你有一行包含加倍空格、制表符等,那么在这段代码中这一切都会变成一个空格。这只是您如何执行此操作的一个示例,根据您的要求,可能会有更好的方法。

关于java - 从文本文件中删除选定的单词?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10244308/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com