gpt4 book ai didi

java - 如何过滤 Java 字符串以仅获取字母字符?

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:07:02 24 4
gpt4 key购买 nike

我正在生成一个 XML 文件来进行付款,并且我对用户的全名有限制。该参数只接受字母字符 (a-ZAZ) + 空格来分隔名称和姓氏。

我无法以简单的方式对其进行过滤,我如何构建正则表达式或过滤器来获得我想要的输出?

例子:

'Carmen López-Delina Santos' 必须是 'Carmen LopezDelina Santos'

我需要对单元音中带有修饰的元音进行如下转换:á > a, à > a, â > a, 依此类推;并删除点、连字符等特殊字符。

谢谢!

最佳答案

可以先用a Normalizer然后删除不需要的字符:

String input = "Carmen López-Delina Santos";
String withoutAccent = Normalizer.normalize(input, Normalizer.Form.NFD);
String output = withoutAccent.replaceAll("[^a-zA-Z ]", "");
System.out.println(output); //prints Carmen LopezDelina Santos

请注意,这可能不适用于任何语言的所有和任何非 ascii 字母 - 如果遇到这种情况,该字母将被删除。一个这样的例子是土耳其语 i

在这种情况下,替代方案可能是列出所有可能的字母及其替换...

关于java - 如何过滤 Java 字符串以仅获取字母字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30780074/

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