str.indexOf(searchValue[, fromIndex])
const str = "abab";
document.writeln(str.indexOf('ab')); // 0
document.writeln(str.indexOf('ba')); // 1
document.writeln(str.indexOf('abc')); // -1
document.writeln(str.indexOf('AB')); // -1
처음 검색된 값을 반환한다.
일치하는 값이 없으면 -1을 반환한다
,fromIndex 에 값을 넣어주면 searchValue를 찾기 시작할 위치
const str = "abab";
document.writeln(str.indexOf('ab')); // 0
document.writeln(str.indexOf('ab', 1)); // 2
이와 비슷한 search
다른점은
1. search 는 정규표현식을 사용할 수 있다
2. search는 두 번째 혹은 다른 시작 위치를 인수로 지정할 수 없다. 반대로 indexOf는 가능하다.
slice() 메소드는 문자열의 일부를 추출하면서 새로운 문자열을 반환합니다
str.slice(beginIndex[, endIndex])
let s ='abcdefABCDEF'
s.slice(6) //ABCDEF
s.slice(6,9)//ABC
배열자체는 바꾸지 않는다!!
substr() 메서드는 문자열에서 특정 위치에서 시작하여 특정 문자 수 만큼의 문자들을 반환합니다((몇번째부터 몇개를 가져오겠다))
str.substr(start[, length])
let s ='abcdefABCDEF'
s.substr(6,3)//'ABC'
s.substr(6,4)//ABCD
substring() 메소드는 string 객체의 시작 인덱스로 부터 종료 인덱스 전 까지 문자열의 부분 문자열을 반환합니다.
str.substring(indexStart[, indexEnd])
slice와 완전 같지만 -인덱스의 차이가 있다
let s ='abcdefABCDEF'
s.substring(2,-2)//ab
s.slice(2,-2)//cdefABCD
substring 은 -2를 0으로 처리
slice는 -2를 찾아간다
정말 많이쓰는 친구
replace() 메서드는 어떤 패턴에 일치하는 일부 또는 모든 부분이 교체된 새로운 문자열을 반환합니다. 그 패턴은 문자열이나 정규식(RegExp)이 될 수 있으며, 교체 문자열은 문자열이나 모든 매치에 대해서 호출된 함수일 수 있습니다.
var newStr = str.replace(regexp|substr, newSubstr|function)
let s ='abcdefABCDEF'
s.replace('ABC','hojun')
'abcdefhojunDEF'
let x="100,000,000"
x.replace(',','')
'100000,000
//이렇게 하면 앞에 제일 먼저 마주한 것만 적용됨
//전부 다 지우고 싶으면 정규표현식
x.replace(/,/g,'')
'100000000'
//replaceAll 도 있긴하다
x.replaceAll(',','')
배열자체는 바꾸지 않는다!!
split() 메서드는 String 객체를 지정한 구분자를 이용하여 여러 개의 문자열로 나눕니다.
str.split([separator[, limit]])
특정 문자를 기준으로 잘라내서 배열로 만듬
let str= '5,4,10,2,5'
let spl = str.split(',');
//['5', '4', '10', '2', '5']
limit 설정
var myString = 'Hello World. How are you doing?';
var splits = myString.split(' ', 3);
console.log(splits);
//["Hello", "World.", "How"]
배열자체는 바꾸지 않는다!!
문자열 배열로 반환하는법?
1. Array.from()
2. ... 전개구문
3. JSON.parse??
var data = "0,1,2,3";
var arr = JSON.parse("[" + data + "]");
console.log( arr)
console.log(typeof arr[0])
var str = "거꾸로";
console.log(str.split()); //인자 없으면 ["거꾸로"]
console.log(str.split('')); //이렇게 하면 ["거","꾸","로"]