如何将字符串中的字母(例如“ Hello”)替换为此处的字母?
String bubbled = "ⓐⓑⓒⓓⓔⓕⓖⓗⓘⓙⓚⓛⓜⓝⓞⓟⓠⓡⓢⓣⓤⓥⓦⓧⓨⓩⒶⒷⒸⒹⒺⒻⒼⒽⒾⒿⓀⓁⓂⓃⓄⓅⓆⓇⓈⓉⓊⓋⓌⓍⓎⓏ";
我最初只是在执行replaceAll(“ a”,“ⓐ”),但我觉得必须有一种更有效的方法。
最佳答案
您可以使用字符a
和ⓐ
来确定字母的偏移值。与StringBuilder
结合使用,它应该相当有效。当然,对于输入字符串仅是字母字符,您可能必须非常严格。
这是我上面描述的代码:
public class Bubbled {
public static void main(String[] args) {
char bubbledA = 'ⓐ';
int lowerCaseOffset = bubbledA - 'a';
int upperCaseOffset = bubbledA - 'A';
String input = "Hello";
StringBuilder bubbledOutput = new StringBuilder();
for (Character c : input.toCharArray()) {
if (Character.isUpperCase(c)) {
bubbledOutput.append((char)(c + upperCaseOffset));
} else {
bubbledOutput.append((char)(c + lowerCaseOffset));
}
}
System.out.println(bubbledOutput.toString());
}
}
输出量
ⓗⓔⓛⓛⓞ