gpt4 book ai didi

java - 查找 "can t"、 "haven t"等并添加撇号的正则表达式

转载 作者:行者123 更新时间:2023-11-29 09:43:09 24 4
gpt4 key购买 nike

我需要处理一些遗漏撇号的句子。

例如:

  1. 元素是假的。卖家声称它是正品并且它不是

  2. 它是假的,没有您看不到看到马林鱼的照片,已寄回等待退款。

如何使用正则表达式查找“​​doesn t”、“can t”、“havent t”、“aren t”、“it s”等。

注意:

“it s”和“can t”在这里可能有点棘手。

例如:

“我不会讲故事” vs. “我现在不能做任何事情”

我们不应该在第一句中添加撇号

最佳答案

与其尝试在这里进行正则表达式奥林匹克,我建议您将每个损坏的收缩替换为更正的替换。您可以定义一个映射,将每个损坏的收缩映射到它的替换位置。然后,遍历该映射并将每个更正应用于您要更正的文本。

String input = "I can t do it because it s not raining and it doesn t make sense.";
Map<String, String> cnts = new HashMap<>();
cnts.put("doesn t", "doesn't");
cnts.put("can t", "can't");
cnts.put("haven t", "haven't");
cnts.put("aren t", "aren't");
cnts.put("it s", "it's");
cnts.put("isn t", "isn't");
for (Map.Entry<String, String> entry : cnts.entrySet()) {
String start = entry.getKey();
String end = entry.getValue();
input = input.replaceAll("\\b" + start + "\\b", end);
}
System.out.println(input);

输出:

I can't do it because it's not raining and it doesn't make sense.

关于java - 查找 "can t"、 "haven t"等并添加撇号的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43062186/

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