【问题标题】:How can I split a sentence based on underscore in Java如何在Java中根据下划线拆分句子
【发布时间】:2015-07-15 15:56:23
【问题描述】:

我目前正在处理文本处理并被一个简单的问题分心。我试图根据下划线拆分句子。首先,我想出了一个非常简单的方法:

String[] tokens = taggedSentence.split("_");

在我找到这样写的文字之前,它在大多数情况下都可以正常工作:

Robert_Phd_NNP

但是,我只对 POS 标签感兴趣,在这种情况下是 NNP,但似乎仅用下划线拆分是不够的。然后,我想出了一个主意,得到拆分句子的最后一个元素:

String[] tokens = taggedSentence.split("_");
int tokenSize = tokens.length;
String pos = tokens[tokenSize-1];

但是,我想知道是否有更好的方法(比如正则表达式)来做到这一点。任何意见或建议将不胜感激。 非常感谢

【问题讨论】:

    标签: java regex string split


    【解决方案1】:

    无需正则表达式即可轻松完成:

    String POStag = taggedSentence.substring(taggedSentence.lastIndexOf('_') + 1);
    

    如果没有下划线,这将只返回原始字符串。

    【讨论】:

    • Some people, when confronted with a problem, think "I know, I'll use regular expressions." Now they have two problems. 不错的答案。
    • cool.. 它显然比我的简单得多。我是新手 :D 谢谢 :)
    • @Jashaszun 是的,你是对的。当我面对这个案例时,Regex 是我想到的第一件事。感谢肖恩·布莱特
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-29
    • 1970-01-01
    • 2016-10-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多