You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Java中如何将形似英文字母的非英文字符转换为英文字母?

解决西里尔形似英文字符转对应英文字母的问题

你的代码之所以输出699,是因为О(U+041E,西里尔大写字母O)和Х(U+0425,西里尔大写字母Kha)属于非ASCII字符,replaceAll("[^\\x00-\\x7F]", "")会直接把所有不在ASCII范围内的字符删掉,而Normalizer.normalize在这里起不到作用——它主要用于处理Unicode字符的重音分解,对这类无重音的西里尔字母无效。

要实现把形似英文字母的西里尔字符转成对应英文字母,你需要手动定义字符映射关系,然后逐个替换。以下是几种可行的实现方式:

1. 简单直接的替换(适合少量字符)

如果只需要处理О、Х这类少数字符,直接用replace方法即可:

String subjectString = "ОХ699";
String resultString = subjectString
        .replace('О', 'O')
        .replace('Х', 'X')
        // 如需处理小写,添加对应替换
        .replace('о', 'o')
        .replace('х', 'x');
System.out.println(resultString); // 输出 OX699

2. 基于映射表的替换(适合大量字符)

如果需要处理更多形似字符(比如西里尔的С→C、Е→E等),用Map存储映射关系会更易维护:

import java.util.HashMap;
import java.util.Map;

public class CyrillicConverter {
    // 预定义常见形似西里尔字符到英文字母的映射
    private static final Map<Character, Character> CYRILLIC_LATIN_MAP = new HashMap<>();
    static {
        CYRILLIC_LATIN_MAP.put('О', 'O');
        CYRILLIC_LATIN_MAP.put('Х', 'X');
        CYRILLIC_LATIN_MAP.put('о', 'o');
        CYRILLIC_LATIN_MAP.put('х', 'x');
        CYRILLIC_LATIN_MAP.put('С', 'C');
        CYRILLIC_LATIN_MAP.put('с', 'c');
        CYRILLIC_LATIN_MAP.put('Е', 'E');
        CYRILLIC_LATIN_MAP.put('е', 'e');
        CYRILLIC_LATIN_MAP.put('А', 'A');
        CYRILLIC_LATIN_MAP.put('а', 'a');
        // 可根据需求继续添加其他映射
    }

    public static String convert(String input) {
        StringBuilder result = new StringBuilder();
        for (char c : input.toCharArray()) {
            // 存在映射则替换,否则保留原字符
            result.append(CYRILLIC_LATIN_MAP.getOrDefault(c, c));
        }
        return result.toString();
    }

    public static void main(String[] args) {
        System.out.println(convert("ОХ699")); // 输出 OX699
    }
}

3. 正则批量替换

也可以用正则表达式一次性替换所有目标字符:

String subjectString = "ОХ699";
String resultString = subjectString
        .replaceAll("[Оо]", "O")
        .replaceAll("[Хх]", "X");
System.out.println(resultString);

内容的提问来源于stack exchange,提问作者Ankita Rajput

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.24 08:15:30