[Javascript] 자바스크립트 문자열함수(length, indexOf, substring 등)

자바스크립트 문자열 함수들


- 자바스크립트에서 사용하는 문자열 함수.

- 자바의 문자열 메소드와 비슷하다.


var txt = "안녕하세요. 홍길동님. 안녕히가세요. 홍길동님";


이런 문자열 변수가 있을때


1. 길이

- txt.length  25반환


2. 검색

- indexOf() - 왼쪽에서 오른쪽으로 검색.

- lastIndexOf() - 오른쪽에서 왼쪽방향으로 검색

- zero based index system

- 없으면 -1 반환.


console.log(txt.indexOf("요"));

console.log(txt.indexOf("홍길동",10)); 21 

console.log(txt.lastIndexOf("요"));  18 

console.log(txt.indexOf("아무개")); -1 


3. 대소문자 변환

- toUpperCase()

- toLowerCase()

txt="Hello Hong";

console.log(txt.toUpperCase());  HELLO HONG

console.log(txt.toLowerCase());  hello hong


4. 치환

- replace( 바꿀 대상, 치환자 );

- 처음만나는 요소만 치환한다.(반복X)

- 모든 요소 치환 -> 정규 표현식 사용.

- 치환한 값을 반환하는 것이지 본래 문자열을 바꾸는 것이 아니다.


txt = "Hello Hong";

console.log(txt.replace("Hong","Lee")); Hello Lee Hong을 Lee로 치환

console.log(txt.replace("H","A")); Aello Hong H를 A로 치환하는데 처음 만나는 H만 A로 바뀜

console.log(txt); Hello Hong

console.log(txt.replace(/[H]/gi,"A")); Aello Aong 모든 H를 A로 바꾸는 정규식


5. 추출

- substring( 시작 인덱스, 종료 인덱스) -> 시작 인덱스는 이상, 종료인덱스는 미만.

- substr( 시작 인덱스, 자를 문자열 개수 )


txt = "Hellp Hong";

console.log(txt.substring(3,8)); lo Ho

console.log(txt.substring(3)); lo Hong 인덱스 3부터 끝까지 전부

console.log(txt.substr(3,5)); lo Ho 

console.log(txt.substr(3));  lo Hong 인덱스 3부터 끝까지 전부

6. 추출

- charAt(문자열의 인덱스)

- charCodeAt(문자열의 인덱스)


txt = "Hellp Hong";

console.log(txt.charAt(1));  e 

console.log(txt.charCodeAt(0)); 72 -> 문자코드 반환(유효성 검사용)


7. 분할

var names="홍길동, 아무개,하하하,호호호";

console.log(names.split(",")); Array(4)의 배열 반환 -> 0: 홍길동 1: 아무개 2: 하하하 3: 호호호


자바에 있는 split 메소드와의 차이점

var names = ",홍길동, 아무개,하하하,호호호,"; -> 양 옆에 콤마 구분자를 추가했음.


자바와 자바스크립트에서 앞의 콤마(,)는 구분자로서 역할을 하지만, 자바에서 뒤의 콤마(,)는 구분자로써 역할을 하지 않고 씹는다. 하지만 자바스크립트는 구분자로서의 역할을 한다.


자바

names.split(","); 길이 5의 배열 반환. 0: 빈값 1: 홍길동 2: 아무개 3: 하하하 4: 호호호


자바스크립트

names.split(","); -> 길이 6의 배열 반환 0: 빈값 1: 홍길동 2: 아무개 3: 하하하 4: 호호호 5: 빈값



댓글

Designed by JB FACTORY