[Javascript] 자바스크립트 문자열함수(length, indexOf, substring 등)
- 웹 개발/Javascript
- 2019. 4. 6. 13:57
자바스크립트 문자열 함수들
- 자바스크립트에서 사용하는 문자열 함수.
- 자바의 문자열 메소드와 비슷하다.
var txt = "안녕하세요. 홍길동님. 안녕히가세요. 홍길동님";
이런 문자열 변수가 있을때
1. 길이
- txt.length 25반환
2. 검색
- indexOf() - 왼쪽에서 오른쪽으로 검색.
- lastIndexOf() - 오른쪽에서 왼쪽방향으로 검색
- zero based index system
- 없으면 -1 반환.
console.log(txt.indexOf("요")); 4
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: 빈값
'웹 개발 > Javascript' 카테고리의 다른 글
[Javascript] 자바스크립트 배열(Array) (0) | 2019.04.06 |
---|---|
[Javascript] 자바스크립트 날짜 시간 자료형(Date) (0) | 2019.04.06 |
[Javascript] 자바스크립트, 형변환(Type Casting) (0) | 2019.04.05 |
[Javascript] 자바스크립트 함수(메소드),Function(Method) 특징- 호이스팅 (0) | 2019.03.31 |
[Javascript] 자바스크립트 자료형(Data Type) (0) | 2019.03.30 |