중화사전망 - 자전 검색 - 자바 언어에서 문자열의 한자 수를 가져오는 방법
자바 언어에서 문자열의 한자 수를 가져오는 방법
문자열에는 숫자, 문자, 한자 또는 기타 문자가 포함될 수 있습니다. Character 클래스의 isDigit () 메서드를 사용하여 문자 내의 문자가 숫자인지 확인하고 Character 클래스의 isLetter () 메서드를 사용하여 문자 내의 문자가 문자인지 여부를 확인할 수 있습니다. 한 가지 예는 문자열의 문자가 한자인지 여부를 판단하는 방법을 소개합니다. 이런 식으로 문자열의 한자 수를 계산할 수 있다. 예제의 실행 효과는 그림 4.24 에 나와 있습니다.
절차를 실시하다
Eclipse 에 새 프로젝트인 ChineseCharacter 를 만들고 그 안에 ChineseCharacter.java 파일을 만듭니다. 이 클래스의 main 메서드에서 표준 입력 스트림의 scanner 객체를 만들고 사용자 입력 문자열을 수신합니다. 프로그램에서 matches () 메서드를 사용하여 문자열의 한자 수를 계산합니다. 코어 코드는 다음과 같습니다.
Protectedvoiddo _ button _ actionperformed (actionevent e) {stringtext = chinesearea.gettext (); //사용자 가져오기 intamount = 0; //는 (inti = 0;; 나 & lttext.length (); I++){// 순회 문자열의 각 문자//정규식을 사용하여 문자가 한자 인코딩 Boolean matches = pattern 에 속하는지 확인합니다. 일치 ("[\ u4e 00-\ u9fa 5】{ 0,} $", "+텍스트. 차트 (I); If (일치) {//한자 금액++; //누적 카운터}} umfield.settext (amount+""); //텍스트 상자에 중국어 문자 수 표시}
코드 구문 분석
이 예의 핵심은 정규식의 사용이다. Java 는 정규식에 대한 패턴의 컴파일 표현을 제공합니다. 이 클래스는 정규식 일치를 수행하는 정적 메서드인 matches () 를 제공합니다. 이 메서드는 주어진 정규식을 컴파일하고 주어진 입력과 일치시키려고 시도합니다. 일치시킬 문자 시퀀스가 정규식과 일치하면 true 를 반환하고, 그렇지 않으면 false 를 반환합니다. 선언 구문은 다음과 같습니다.
Publistaticbooleanmatches (string egex, charsequenceinput); 지식 확장
일반 표현식을 사용하여 문자열을 쉽게 조작할 수 있습니다. 정규식은 일반적으로 사용자가 입력한 정보가 정확한지 확인하는 것과 같이 사용자가 입력한 정보를 확인하는 데 사용됩니다. 이 예에서는 일반 표현식을 사용하여 사용자가 입력한 문자열이 한자인지 여부를 확인합니다. 한자라면 카운터에 1 을 더하면 결국 문자열에 있는 모든 한자의 수를 얻을 수 있다.