마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

텍스트에서 완성되지 않은 초성/중성/종성 제외하기.

0 추천
            String testStr="ㅞㅋㅋ하나둘셋! ㅎㅎabcA";
			StringBuffer sb = new StringBuffer();
			
			for(int i=0; i<testStr.length(); i++)
			{
				char c = testStr.charAt(i);
				if(
						(c>='\uAC00' && c<='\uD7AF')
						||(c>='\u1100' && c<='\u11FF')
						||(c>='\u3130' && c<='\u318F')
						||
						(c>='\20'))
				{
					if(c=='\20')
					{
						Log.e("공백?","공백?");
						sb.append(" ");
					}
					sb.append(c);
					Log.e("sb출력",sb.toString());
				}
				
			
				
			}

 

ㅞㅋㅋ하나둘셋! ㅎㅎabcA 

->하나둘셋! abcA 로 출력하고 싶습니다.

결과적으로 ㅞㅋㅋㅎㅎ <-이 것들이 빠져야 하는데요,

유니코드<->한글 변환시 궁금한게 있습니다.

온라인 변환프로그램을 참조하고 있는데 ㄱ이 3131일 때와 1100일 때가 있네요.

최종적으로 자음과 모음이 합쳐진 완벽한 한글만 출력하고 싶은데,.. 

ㄱ의 변환값이 왜 두개인지 모르겠습니다.

망고사탕 (5,000 포인트) 님이 2015년 11월 25일 질문

1개의 답변

0 추천
 
채택된 답변
https://ko.wikipedia.org/wiki/%ED%95%9C%EA%B8%80_%EB%82%B1%EC%9E%90_%EB%AA%A9%EB%A1%9D

 

호환용 자모랑 일반 한글 자모가 각각 있어서 그런거네요

어차피 완성된 글자들은 한글코드 범위 {AC00-D7AF} 안에 들어갈 것이므로, 저 범위를 확인하시면 될 것 같습니다.
cc1232 (35,280 포인트) 님이 2015년 11월 25일 답변
망고사탕님이 2015년 11월 25일 채택됨
헛 감사합니다...ac00~d7af로 범위 지정하니 나오네요...!
...