일본어로 프로젝트를 진행하시는 분들은 참고하세여.
일본어가 들어 있는 스트링이 전각으로 되어 있는지 반각으로 되어 있는지 확인합니다.
참고) 아래의 메소드는 static으로 되어 있습니다.
필요에 따라 바꿔서 사용하세여.
이원영님께서 만드신 JDF에도 반영시켜도 좋을 듯 싶군여~ ㅋㅋ
(소스)----------------------------------------------------------------------------
/**
* 대상문자열(strTarget)이 전각문자로 구성되어 있는지 확인한다.
*
* @param strTarget 전각여부를 확인할 문자열
* @return 전각문자만으로 구성된 문자열일 경우 true반환. 아니면 false
*/
public static boolean isFullWord(String strTarget)
{
byte[] byteArray = null;
byteArray = strTarget.getBytes();
for(int i = 0; i < byteArray.length; i++)
{
if((byteArray[i] >= (byte)0x81 && byteArray[i] <= (byte)0x9f) || (byteArray[i] >= (byte)0xe0 && byteArray[i] <= (byte)0xef))
{
if((byteArray[i+1] >= (byte)0x40 && byteArray[i+1] <= (byte)0x7e) || (byteArray[i+1] >= (byte)0x80 && byteArray[i+1] <= (byte)0xfc))
{
i++;
}
else
{
return false;
}
}
else
{
return false;
}
}
return true;
}
/**
* 대상문자열(strTarget)이 반각문자로 구성되어 있는지 확인한다.
*
* @param strTarget 반각여부를 확인할 문자열
* @return 반각문자만으로 구성된 문자열일 경우 true반환. 아니면 false
*/
public static boolean isHalfWord(String strTarget)
{
byte[] byteArray = null;
byteArray = strTarget.getBytes();
for(int i = 0; i < byteArray.length; i++)
{
if((byteArray[i] >= (byte)0x81 && byteArray[i] <= (byte)0x9f) || (byteArray[i] >= (byte)0xe0 && byteArray[i] <= (byte)0xef))
{
if((byteArray[i+1] >= (byte)0x40 && byteArray[i+1] <= (byte)0x7e) || (byteArray[i+1] >= (byte)0x80 && byteArray[i+1] <= (byte)0xfc))
{
return false;
}
}
}
return true;
}
소프트웨어 기술의 강국! 우리나라 만세~ ^^
출처: http://www.javaservice.net/~java/bbs/read.cgi?m=resource&b=javatip&c=r_p&n=1016839954&k=전각&d=tb#1016839954