gpt4 book ai didi

java - 正则表达式要放置 ?或者 !如果在原始单词中检测到

转载 作者:行者123 更新时间:2023-12-01 21:48:21 25 4
gpt4 key购买 nike

我有一个 Stemmer 函数,如果在原始单词中检测到句点,它将返回词干并放置一个句点。

这是代码:

static String stemWord(Stemmer s, String word) throws Exception
{
return s.StemWordWithWordNet(word)
+ (word.charAt(word.length()-1) == '.'?"?":"" );
}

因此,当我在stemWord函数中输入一个单词时,如果它在原始单词中检测到1,它就会在单词的末尾放置一个点。示例

placing. -> place.  //notice it place a dot if it detects a dot in the original word
ate -> ate //no dot

现在如何修改正则表达式以便它放置一个?或者 !如果它检测到一个。

going? -> go?
reading! -> read!

最佳答案

您可以使用包含一组要在词干单词上复制的有效结尾标点符号的正则表达式:

private static final Pattern PUNCTUATION_PATTERN = Pattern.compile("[.?!]$");

static String stemWord(Stemmer s, String word) throws Exception {
String word = "testing.";
String stem = s.StemWordWithWordNet(word);

Matcher m = PUNCTUATION_PATTERN.matcher(word);
String endingPunctuation = m.find() ? m.group() : "";

return stem + endingPunctuation;
}

关于java - 正则表达式要放置 ?或者 !如果在原始单词中检测到,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35603598/

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