英語以外の言語の数字を含む文字列を英語の数字文字列に変換したい。例えば :
入力:すべての外国の文字列番号を英語の数字文字列に変換する
"۱۲۳۴۵۶۷۸۹"
出力:これは私のコードは
"123456789"
ですが、それでも出力は入力と同じである:あなたが取得するCharacter.getNumericValue
を使用することができます
String text = String.format(Locale.US ,"۱۲۳۴۵۶۷۸۹");
英語以外の言語の数字を含む文字列を英語の数字文字列に変換したい。例えば :
入力:すべての外国の文字列番号を英語の数字文字列に変換する
"۱۲۳۴۵۶۷۸۹"
出力:これは私のコードは
"123456789"
ですが、それでも出力は入力と同じである:あなたが取得するCharacter.getNumericValue
を使用することができます
String text = String.format(Locale.US ,"۱۲۳۴۵۶۷۸۹");
文字の数値。その後、Character.forDigit
ラテン数にそれを翻訳するには、次のint型のコードポイント(中国語)については
char[] ch = string.toCharArray();
for (int i = 0; i < ch.length; ++i) {
if (Character.isDigit(ch[i])) {
ch[i] = Character.forDigit(Character.getNumericValue(ch[i]), 10);
}
}
String translated = new String(ch);
すぎて、Javaの8スタイル:
String s = "۱۲۳۴۵۶۷۸۹";
int[] cps = s.codePoints()
.map((cp) -> Character.isDigit(cp) ? '0' + Character.digit(cp, 10) : cp)
.toArray();
System.out.println(new String(cps, 0, cps.length));
ありがとうございます。これも働いた。 – ReZa
は、これは間違いなくどのように '文字列ではありません。 format'が動作します。あなたは自分の翻訳者を実装する必要があります。 – Mena