【问题标题】:How to ignore an ASCII Character before parsing?如何在解析之前忽略 ASCII 字符?
【发布时间】:2016-01-13 01:08:13
【问题描述】:
import java.io.*;
import java.util.ArrayList;
import java.util.List;
import edu.stanford.nlp.tagger.maxent.MaxentTagger;

public class TagText {
    public static void main(String[] args) throws IOException, ClassNotFoundException {
        // Initializing the tagger
        MaxentTagger tagger = new MaxentTagger("taggers/english-left3words-distsim.tagger");
        List<String> lines = new ArrayList<>();
        lines = new ReadCSV().readColumn("Tt2.csv", 4);
        for (String line : lines) {
            String tagged = tagger.tagString(line);
            System.out.println(tagged);
        }
    }
}

我正在尝试解析 CSV 文件,并且我有一个字符 (BIN 10010111, —) 值,我希望文本解析器忽略该字符。我该怎么做?

【问题讨论】:

  • 10010111b is 0x97 is decimal 151 -- Em dash 的“扩展”ASCII 码,但在 Java 使用的 Unicode 中,0x97 在C1 control char range 和正确的 unicode char 是 U+2014 - 如果您不删除普通破折号,则无需删除 em-dash,但您必须使用正确的编码(可能是 iso -8859-1) 或阅读后翻译 (0x97 -> 0x2014)。我有一种方法可以将 C0 + C1 范围转换为正确的 unicode。见stackoverflow.com/questions/631406

标签: java csv pos-tagger


【解决方案1】:

所以我猜你想删除所有特殊字符?

我猜是这样的:replaceAll("[^\w\s]", "");

编辑:完整代码

import java.io.*;
import java.util.ArrayList;
import java.util.List;
import edu.stanford.nlp.tagger.maxent.MaxentTagger;

public class TagText {
    public static void main(String[] args) throws IOException, ClassNotFoundException {
        // Initializing the tagger
        MaxentTagger tagger = new MaxentTagger("taggers/english-left3words-distsim.tagger");
        List<String> lines = new ArrayList<>();
        lines = new ReadCSV().readColumn("Tt2.csv", 4);
        for (String line : lines) {
            String tagged = tagger.tagString(line.replace("\uFFFD",""));
            System.out.println(tagged);
        }
    }
}

【讨论】:

  • 不只是这个字符“—”
  • String tagged = tagger.tagString(str.replace("—",""));
  • 没用。尽管我已经定义了 str 上的错误。您能粘贴整个代码并进行更改吗?
  • 非常感谢。但似乎我的 Eclipse 正在读取“-”,作为“-”。有什么办法可以使用 ASCII 值吗?
  • String tagged = tagger.tagString(line.replace("\uFFFD","")); - 修复了问题:)
猜你喜欢
  • 1970-01-01
  • 2016-10-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-09-04
  • 2019-10-15
  • 2014-04-05
相关资源
最近更新 更多