01300000179694121758802302202  
檔案下載:43222786
 
 
 
日文字元的Unicode編碼範圍是: 
U+3040–U+309F: Hiragana 
U+30A0–U+30FF: Katakana 
U+4E00–U+9FBF: Kanji

 

所以我們只需要對每一個字元判斷其是否位於這三個區間即可。另外,如果你希望檢測某個字串是否含有簡體中文字元字串、繁體中文字串等,只需要查詢對應語言的Unicode編碼範圍,對下面的代碼稍作改動即可。



package com.hankcs;

 

import java.util.HashSet;
import java.util.Set;

 

public class Main
{

 

public static void main(String[] args)
{
// write your code here
Set<Character.UnicodeBlock> japaneseUnicodeBlocks = new HashSet<Character.UnicodeBlock>()
{{
add(Character.UnicodeBlock.HIRAGANA);
add(Character.UnicodeBlock.KATAKANA);
add(Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS);
}};

 

String mixed = "This is a Japanese newspaper headline: ラドクリフ、マラソン五輪代表に1萬m出場にも含み";

 

for (char c : mixed.toCharArray())
{
if (japaneseUnicodeBlocks.contains(Character.UnicodeBlock.of(c)))
{
System.out.println(c + " is a Japanese character");
}
else
{
System.out.println(c + " is not a Japanese character");
}
}
}
}
 

因為日文關係,會出現JAVA錯誤訊息: unmappable character for encoding MS950,只要輸入下列指令編譯就行

javac -encoding utf-8 main.java

未命名  

 

 
 
受益自:HTTP://stackoverflow.com/questions/9140978/how-to-check-if-the-word-is-japanese-or-english
創作者介紹
創作者 shadow 的頭像
shadow

資訊園

shadow 發表在 痞客邦 留言(0) 人氣()