如何从短篇小说中获取完整的词语,比如wrk for work?

时间:2012-07-26 06:30:25

标签: java str-replace

我想将短字替换为原始字,如

1.>wrd---word

2.>congrats---congratulations 

3.>oswm-----------owesome

4.>awsum ------- owesome

表情符号不包含所有这类词语

3 个答案:

答案 0 :(得分:2)

假设你实际上知道你要用什么替换,你可能想要设置某种Map<String, String>然后循环输入中的每个单词w字符串并将其替换为yourMap.get(w)

以下是您的示例摘录:

Map<String, String> dict = new HashMap<String, String>() {{
    put("wrd", "word");
    put("congrats", "congratulations");
    put("oswm", "awesome");
    put("awsum", "awesome");
}};


String input = "Here's an awsum example wrd, congrats!";

StringBuffer result = new StringBuffer();

Pattern p = Pattern.compile("\\w+");
Matcher m = p.matcher(input);

while (m.find()) {
    String toInsert = m.group();
    if (dict.containsKey(toInsert))
        toInsert = dict.get(toInsert);
    m.appendReplacement(result, toInsert);

}

m.appendTail(result);

System.out.println(result);

<强>输出:

Here's an awesome example word, congratulations!

答案 1 :(得分:0)

建立你自己的字典。将其加载到类似HashMap的内容中并开始运行。

我确信Scanner之类的内容可能有用,或者只是使用类似String.split的内容

答案 2 :(得分:0)

我发现这是一个很好的资源:http://www.internetslang.com/

不幸的是,他们不允许您下载完整的首字母缩略词列表,您可以在几分钟内手动完成。只需点击26次,然后选择全部+复制+粘贴。