如何将字母倒置?

2022-09-04 19:17:49

在这里,我试图为我的邮件模板翻转一个英文字母。

好吧,我可以手动获取它。我现在正在做的是手动

就像

 content.append("ɥ"); //actual h letter.
 content.append("ǝ")// actual e letter.

所以我的问题是,是否有任何技巧/方法/任何线索以编程方式做到这一点?

我现在做的是

switch(letter) {

case 'e':
   return 'ǝ';
}

这看起来很奇怪,正在寻找提示。感谢您的任何帮助。


答案 1

我不确定是否有特定于java的解决方案,但是看到Java中的字符串使用unicode,我在这里检查了它们颠倒的对应物的unicode字符:http://www.fileformat.info/convert/text/upside-down-map.htm

看起来没有一个好的编程方法来找到这些。但是,有各种各样的转换器,比如这个 http://www.fileformat.info/convert/text/upside-down.htm 您可以根据这些类型的转换器之一的输入和输出生成配置文件,并使用这些配置文件来驱动您颠倒的字母选择


答案 2

执行字符替换的最快方法是数组。

创建一个倒置字母数组。然后,检查传入的值并找到匹配项。

Java允许您通过简单地转换int来获得字符的整数表示形式因此,有理由认为您的倒置a将位于char的索引减去您正在映射的最低char(通常是小写的a)。x = char a;

char[] updown = {'ɐ','q','ɔ','p','ə','ɟ','ƃ','ɥ','ı','ɾ','ʞ','l','ɯ','u','o','d','b','ɹ','s','ʇ','n','ʌ','ʍ','x','ʎ','z'};
//this example uses 26 chars, all lower case;
int a = 'a';
int z = 'z';

String newString = "";
for(int i=0; i<string.length; i++){
    int ch = string.charAt(i);
    if(ch>= a && ch <=z){
        newString = (updown[ch-a]) + newString;
    }
}

这是IDEONE的链接,您可以在其中自行编译和测试。http://ideone.com/LombFE


推荐