sitelink1 | http://www7a.biglobe.ne.jp/~java-master/...index.html |
---|---|
sitelink2 | |
sitelink3 | |
sitelink4 | |
sitelink5 | |
sitelink6 |
- 일본어 문자열 처리용 샘플 클래스
- 링크의 문서를 참조하였슴
- 주요메서드 :
public static void main(String arg[]) {
System.out.println("n1. アルファベットの全角?半角?換");
/**
* 全角アルファベットを半角アルファベットに?換する
* アルファベットについては、大文字と小文字の??が1?1であり、文字コ?ド上でもA~Zの順にならんでいることから、?換表を使わずに比較的簡?に?換することができます。
*/
System.out.println("1.1 [☆Javaプログラミング☆]全角アルファベットを半角アルファベットに?換する -> "
+ zenkakuAlphabetToHankaku("☆Javaプログラミング☆"));
/**
* 半角アルファベットを全角アルファベットに?換する
* アルファベットについては、大文字と小文字の??が1?1であり、文字コ?ド上でもA~Zの順にならんでいることから、?換表を使わずに比較的簡?に?換することができます。
*/
System.out.println("1.2 [日本語?理のProgramming]半角アルファベットを全角アルファベットに?換する -> "
+ hankakuAlphabetToZenkakuAlphabet("日本語?理のProgramming"));
System.out.println("n2. ?字の全角?半角?換");
/**
* 全角?字を半角?字に?換する ?字は文字コ?ド上で順番に?んでいるため、?換表を使わずに比較的簡?に?換することができます。
*/
System.out.println("2.1 [お買い上げ金額は¥1980です。]全角?字を半角?字に?換する -> "
+ hankakuNumberToZenkakuNumber("お買い上げ金額は¥1980です。"));
/**
* 半角?字を全角?字に?換する ?字は文字コ?ド上で順番に?んでいるため、?換表を使わずに比較的簡?に?換することができます。
*/
System.out.println("2.2 [お買い上げ金額は¥1980です。]半角?字を全角?字に?換する -> "
+ zenkakuNumToHankaku("お買い上げ金額は¥1980です。"));
System.out.println("n3. カタカナの全角?半角?換");
/**
* 全角カタカナを半角カタカナに?換する 全角カタカナから半角カタカナへの?換時に問題になるのが、濁点や半濁点を含む文字の扱いです。
* 半角カタカナでは濁点や半濁点を字の中に含めず、記?文字をつける形で表現しますので、たとえば「ガ」は、「カ」+「?」になります。
* また、「ヰ」、「ヱ」、「ヵ」、「ヶ」などの文字は、??する半角記?がありませんので、それぞれ「イ」、「エ」、「カ」、「ケ」などの類似の文字に?換しています。
* このサンプルでは、全角カタカナ文字から半角カタカナ文字列への??表を作って?換を行っています。
*/
System.out.println("3.1 [ジャヴァプログラミング]全角カタカナを半角カタカナに?換する -> "
+ zenkakuKatakanaToHankakuKatakana("ジャヴァプログラミング"));
/**
* 半角カタカナを全角カタカナに?換する 半角カタカナから全角カタカナへの?換時に問題になるのが、濁点や半濁点記?の?理です。
* このサンプルでは、濁点?半濁点記?が出現した際に、直前の文字に合成する?理を行っています。
*/
System.out.println("3.2 [Java??????????]半角カタカナを全角カタカナに?換する -> "
+ hankakuKatakanaToZenkakuKatakana("Java??????????"));
System.out.println("n4. ひらがなとカタカナの?換");
/**
* 全角ひらがなを全角カタカナへ?換する
* このプログラムでは、ひらがなもカタカナも文字コ?ド上で??する?びになっていることを利用し、?換表を使わずに?換しています。
*/
System.out.println("4.1 [じゃば?ぷろぐらみんぐ]全角ひらがなを全角カタカナへ?換する -> "
+ zenkakuHiraganaToZenkakuKatakana("じゃば?ぷろぐらみんぐ"));
/**
* 全角カタカナを全角ひらがなへ?換する
* このプログラムでは、ひらがなもカタカナも文字コ?ド上で??する?びになっていることを利用し、?換表を使わずに?換しています。
* ただし、全角カタカナを全角ひらがなへ?換するときに問題となるのが、「ヴ」「ヵ」「ヶ」の各文字です。これらは、??するひらがながありません。
* このプログラムでは、これらの文字をそれぞれ「う?」「か」「け」に?換しています。
*/
System.out.println("4.2 [ジャヴァ?プログラミング]全角カタカナを全角ひらがなへ?換する -> "
+ zenkakuKatakanaToZenkakuHiragana("ジャヴァ?プログラミング"));
System.out.println("n5. 特殊文字列の?換");
/**
* 半角特殊文字列を全角特殊文字列へ?換する
*/
System.out
.println("5.1 [!!”"##$$%%&&’'(())**++,,--..//::;;<<==>>??@@[[¥]]^^__‘`{{||}}~~。?「?」?、???]半角特殊文字列を全角特殊文字列へ?換する -> "
+ hankakuTokusyumoziToZenkakuTokusyumozi("!!”"##$$%%&&’'(())**++,,--..//::;;<<==>>??@@[[¥]]^^__‘`{{||}}~~。?「?」?、???"));
/**
* 半角特殊文字列を全角特殊文字列へ?換する
*/
System.out
.println("5.2 [!!”"##$$%%&&’'(())**++,,--..//::;;<<==>>??@@[[¥]]^^__‘`{{||}}~~。?「?」?、???]全角特殊文字列を半角特殊文字列へ?換する -> "
+ zenkakuTokusyumoziToHankakuTokusyumozi("!!”"##$$%%&&’'(())**++,,--..//::;;<<==>>??@@[[¥]]^^__‘`{{||}}~~。?「?」?、???"));
System.out.println("n6. 全?的な?換");
/**
* 全角文字列一括?換テスト
*/
System.out
.println("6.1 [((ア?イ?ウ?エ?オ?ガ??ギ??グ??ゲ??ゴ??)), お買い上げ金額は¥1980です。日本語?理のProgramming] 全角文字列一括?換テスト -> "
+ toFullChar("((ア?イ?ウ?エ?オ?ガ??ギ??グ??ゲ??ゴ??)), お買い上げ金額は¥1980です。日本語?理のProgramming"));
/**
* 半角文字列一括?換テスト
*/
System.out
.println("6.2 [((ア?イ?ウ?エ?オ?ガ??ギ??グ??ゲ??ゴ??)), お買い上げ金額は¥1980です。日本語?理のProgramming] 半角文字列一括?換テスト -> "
+ toHalfChar("((ア?イ?ウ?エ?オ?ガ??ギ??グ??ゲ??ゴ??)), お買い上げ金額は¥1980です。日本語?理のProgramming"));
}
from Bing
import java.text.Normalizer;
import java.util.regex.Pattern;
public class JapaneseCharacterConverter {
private static final Pattern PATTERN = Pattern.compile("\\p{InHalfwidthAndFullwidthForms}");
public static String toHalfWidth(String input) {
return PATTERN.matcher(Normalizer.normalize(input, Normalizer.Form.NFKC)).replaceAll("");
}
public static String toFullWidth(String input) {
return PATTERN.matcher(Normalizer.normalize(input, Normalizer.Form.NFKC)).replaceAll(" ");
}
}