【问题标题】:Regex accent java [duplicate]正则表达式重音java [重复]
【发布时间】:2018-08-03 10:09:55
【问题描述】:

如何用字符串中的其他内容替换重音?

我有这个:

if (personne1.trim().contains("Président"))

我必须用任何东西替换é(这可能是e

【问题讨论】:

  • .replace("é", "e")?
  • stackoverflow.com/a/3322174(将带有变音符号的字符映射到它们的基础)
  • @jhamon:您的链接问题实际上与 OP 的需求并不完全相关。
  • 我不希望这是替代词,我希望我的词可以是“总统”的“总统”(如果忘记了口音)

标签: java string loops equals


【解决方案1】:

这是一个 XY 问题的例子。您不想仅将 é 替换为 e ,还希望将其他文字替换为变音符号。您想“标准化”字符串。使用java.text.Normalizer 类:

String compared = Normalizer
    .normalize("Président", Normalizer.Form.NFD)
    .replaceAll("[^\\p{ASCII}]", "")

if(personne1.trim().contains(compared)) {
    ...
}

【讨论】:

    【解决方案2】:

    String 类具有称为replace() 的方法。

    if(personne1.trim().contains("Président")){
       personne1.replace("é", e)
    }
    

    【讨论】:

      猜你喜欢
      • 2016-04-22
      • 1970-01-01
      • 1970-01-01
      • 2014-01-20
      • 2012-10-22
      • 2023-03-11
      • 2012-07-09
      • 2016-04-30
      • 1970-01-01
      相关资源
      最近更新 更多