자바 실전 도시 다 음 자 처리
도시 이름 을 병 음 으로 바 꿀 때 다 음 자 도 시 를 만 났 을 때 병 음 으로 바 꾸 는 것 은 우리 가 원 하 는 것 이 아니다.
쓰다 pinyin4j 는 이 문 제 를 직접 해결 할 수 없다.인터넷 에는 다 음 자 정 보 를 유지 하 는 사람들 이 많아 서 번거롭다.
예:
====>"zhangsha"
===>"shamen"
===>"zhongqing"
jpinyin 가 져 오기버 전 선택
<!-- https://mvnrepository.com/artifact/com.github.stuxuhai/jpinyin -->
<dependency>
<groupId>com.github.stuxuhai</groupId>
<artifactId>jpinyin</artifactId>
<version>1.1.8</version>
</dependency>
3.도구 클래스 직접 만 들 기(다른 작업 필요 없 음)
import com.github.stuxuhai.jpinyin.ChineseHelper;
import com.github.stuxuhai.jpinyin.PinyinFormat;
import com.github.stuxuhai.jpinyin.PinyinHelper;
/**
* @Description:
* @Date: 2021/4/27 16:26
* @Author: luch
* @Version: 1.0
**/
public class ChangeToPinYinJPinYin {
/**
*
*
* @param pinYinStr
* @return
*/
public static String changeToMarkPinYin(String pinYinStr) {
String tempStr = null;
try {
tempStr = PinyinHelper.convertToPinyinString(pinYinStr, " ", PinyinFormat.WITH_TONE_MARK);
} catch (Exception e) {
e.printStackTrace();
}
return tempStr;
}
/**
*
*
* @param pinYinStr
* @return
*/
public static String changeToNumberPinYin(String pinYinStr) {
String tempStr = null;
try {
tempStr = PinyinHelper.convertToPinyinString(pinYinStr, " ", PinyinFormat.WITH_TONE_NUMBER);
} catch (Exception e) {
e.printStackTrace();
}
return tempStr;
}
/**
*
*
* @param pinYinStr
* @return
*/
public static String changeToTonePinYin(String pinYinStr) {
String tempStr = null;
try {
tempStr = PinyinHelper.convertToPinyinString(pinYinStr, "", PinyinFormat.WITHOUT_TONE);
} catch (Exception e) {
e.printStackTrace();
}
return tempStr;
}
/**
*
*
* @param pinYinStr
* @return
*/
public static String changeToGetShortPinYin(String pinYinStr) {
String tempStr = null;
try {
tempStr = PinyinHelper.getShortPinyin(pinYinStr);
} catch (Exception e) {
e.printStackTrace();
}
return tempStr;
}
/**
*
*
* @param pinYinStr
* @return true ,false
*/
public static boolean checkPinYin(char pinYinStr) {
boolean check = false;
try {
check = PinyinHelper.hasMultiPinyin(pinYinStr);
} catch (Exception e) {
e.printStackTrace();
}
return check;
}
/**
*
*
* @param pinYinStr
* @return
*/
public static String changeToTraditional(String pinYinStr) {
String tempStr = null;
try {
tempStr = ChineseHelper.convertToTraditionalChinese(pinYinStr);
} catch (Exception e) {
e.printStackTrace();
}
return tempStr;
}
/**
*
*
* @param pinYinSt
* @return
*/
public static String changeToSimplified(String pinYinSt) {
String tempStr = null;
try {
tempStr = ChineseHelper.convertToSimplifiedChinese(pinYinSt);
} catch (Exception e) {
e.printStackTrace();
}
return tempStr;
}
}
4.직접 테스트 코드
public static void main(String[] args) {
String str = " ";
System.out.println(" :"+changeToMarkPinYin(str));
System.out.println(" :"+changeToTonePinYin(str));
String strFanTi="l T";
System.out.println(" :"+changeToSimplified(strFanTi));
System.out.println(" "+" :"+checkPinYin(' '));
System.out.println(" "+" :"+checkPinYin(' '));
System.out.println(" "+" :"+checkPinYin(' '));
}
출력 결과,아래 다른 글자 의 중간 에 빈 칸 이 있 는 지,이것 은 스스로 설정 할 수 있 습 니 다.5.소스 코드 분석
5.1 사전 대응 정보
위 에서 아래로 각각
1.번 체-간 체 대응 표
2.다 음 자
3.음표 가 달 린 병 음
5.26 개 처리 클래스
5.3 처리 모드
켜다
com.github.stuxuhai.jpinyin.PinyinResource#getPinyinResource
이 몇 개의 자원 을 각각 불 러 오 는 세 가지 방법 이 있다.그리고 통과.
com.github.stuxuhai.jpinyin.ChineseHelper
키 값 을 통 해 가 져 옵 니 다.로드 처리 일 뿐 입 니 다.자바 실전 의 도시 다 음 자 처리 에 관 한 이 글 은 여기까지 소개 되 었 습 니 다.더 많은 자바 도시 다 음 자 처리 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 조회 하 시기 바 랍 니 다.앞으로 많은 응원 바 랍 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Is Eclipse IDE dying?In 2014 the Eclipse IDE is the leading development environment for Java with a market share of approximately 65%. but ac...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.