gpt4 book ai didi

java - 如何从一个没有重音的单词中得到所有强调的单词?

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

我正在尝试创建一个java程序,该程序允许我打开路径位于参数中的文件。
当我的路径如下:“C:\telephone1\”且文件夹名称为“telephone1”时,一切正常。
但如果文件夹的名称是“téléphone1”(重音),我不想用我的脚本找到它。

这是对程序说的一种方式吗:你必须测试:
- 电话
- 电话
- 电话
- 电话
- 电话
- 电话
- 电话
- 电话
- ...
然后脚本就会找到它。

最佳答案

使用 java.text.Normalizer 删除重音符号:

s = Normalizer.normalize(s, Normalizer.Form.NFKD).replaceAll("\\p{M}", "");

这用 e 加上零宽度锐角标记替换单个代码点 é。然后所有“组合变音符号”都被删除。

规范化:因为单个“字符”存在不同的 Unicode 代码点序列。

<小时/>

虽然可以比较两个这样的标准化文本,但可以按如下方式制作模式。

String regexPattern = Pattern.quote(s)
.replace("e", "[eéèê]")
.replace("u", "[ùúû]")
.replace("oe", "(oe|œ)")
... ;
Pattern pattern = Pattern.compile(regexPattern);

关于java - 如何从一个没有重音的单词中得到所有强调的单词?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31701599/

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