Java에서 split 메소드로 문자열 분할
배열은 컴퓨터 프로그램에서 자주 사용되며 거의 모든 프로그램에는 다양한 유형의 배열이 포함되어 있다고 할 수 있습니다. 구조. 가장 간단한 것은 구조 인접한 그 중 추가를 제외한 모든 작업이 순차적으로 수행됩니다. 그만큼 제거 로 완료됩니다. 오시는 길 직접적이지만 반드시 오프셋 기타 요소.단어 계산 채널 character character는 "space" 문자를 검색하는 것을 의미합니다. Java는 우리를 위해 일을 더 쉽게 만들고 이것이 우리가 객체 지향의 이점을 알아차리는 곳입니다. 사전 정의된 split, 영어로 나눕니다.
split 메서드는 정규식을 입력으로 사용합니다. 그것은 이것을 나눕니다 채널 주어진 정규 표현식에 따라 배열을 반환합니다. 하위 문자열을 포함합니다. 표현식이 일치하지 않는 경우 채널 결과 배열을 검색하면 요소가 하나만 있습니다.
나누고 싶다면 채널 다음 : I.am.a.programmer 구분 dots, split("\\." ) 및 (split("." ) false )입니다. 단순히 split 메서드가 정규식을 입력으로 사용한다고 말했기 때문입니다. 지식이 없다면 인터넷을 찾아보십시오. 링크를 직접 제공합니다 :
정규식을 사용하는 Java의 정규식
이 예에서는 큰 것이 필요하지 않습니다. 단어 수를 1로 구분하여 세고 싶습니다." 공간" A 에서 채널 문자의. 술래 존재한다 이를 달성하는 두 가지 방법:
1- split
split 메서드는 문자열을 처리하고 출력해야 합니다. 단어 수:int numberwords(문자열 문자열)
회화를 선언한다 문자열[] 단어; 하위 문자열을 저장합니다. 후자는 split:
words=string.split(" ");
마지막으로 표의 길이를 반환합니다 words:
반환 mots.length;
2- 없이 split
이 방법은 더 길어 보이지만 그렇지 않습니다 필요한 Java에는 이미 미리 정의된 Split 기능이 있기 때문입니다. 이것은 하길 원해요 기차.단어 카운터와 문자를 선언합니다.
int < / 스팬 >n = 0;
char c;
그런 다음 의 모든 문자를 읽습니다. 채널 그리고 우리는 그들 중 하나가 있는지 테스트합니다. 는 문장의 시작과 끝에 있는 공백을 계산하지 않는 공백입니다. 그렇다면 counter.
for(int 스팬>i = 0; 나는 < string.length()를 호출합니다. i++){
c = chain.charAt(i);
if(i!=0 & & i!=string.length()-1)
if(c==' ')
스팬> 엔++;
}
마지막으로 채널 입력이 비어 있고 1 만약 표현식이 에 해당하지 않습니다. 채널 searched.
그렇다면 슈페리어 1은 공백이 하나 이상 있음을 의미합니다.
if(n> 1)
엔++;
예
" 저는 프로그래머입니다 "우리는 그 사이의 공백을 계산하기 때문에 1을 더합니다. 단어( 각 두 단어 사이에 공백).
public class WordNumberString {
//미리 정의된 함수 사용 split
static int numberwords(String string){
int n=0;
문자열[] 단어;
//split 문자열을 단어 집합으로 분할합니다
//공백이 있으면 배열에 넣습니다
words = string.split(" ");
반환 words.length;
}
//미리 정의된 함수 없이 split
static int nombremots_naive(문자열 문자열){
int n=0;
char c;
//전체 문자열 찾아보기
for(int i = 0 ; i < string.length() ; i++){
//문자별 문자
c = string.charAt(i);
//공백 계산 피하기
//시작과 끝에서 //br /
//example: "나는 프로그래머입니다"
//이 테스트를 제거하면 단어 수가 6개가 됩니다.
//4개의 단어가 있어도 6개가 됩니다.
if(i!=0 & & i!=string.length()-1)
if(c==' ')
n++;
}
//문자열이 비어 있지 않으면
//1을 더하기 때문에
//사이의 공백을 세십시오
//단어, 즉 공백이 3개인 경우
//그러면 4개의 단어가 생깁니다
if(n> 1)
n++;
n을 반환합니다.
}
public static void main(String[] args) {
String string="저는 프로그래머입니다.";
System.out.println(nombremots_naive(문자열));
}
}