stringMethod.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
// ⭐ 문자열 ⭐
let str = 'green';
console.log(str);
console.log(str.length); // 길이 5
console.log(str[0]); // g
for(let i=0; i<str.length; i++) {
console.log(str[i]); // index로 접근할 수 있게 i 넣어줌
// 결과) g, r, e(2), n
}
//(1) ⭐indexOf() → 문자열.indexOf(찾을 값); → index 반환
console.log (str.indexOf('e')); // 2번째, 먼저 나오는 값 반환
console.log (str.indexOf('n')); // 4번째
console.log (str.indexOf('x')); // -1, 없으면 -1 반환
//(2) ⭐includes() → 문자열.includes(찾을 값) → true, false 반환
console.log (str.includes('n')); // true
//(3) 문자열 추출
// slice() substring() substr() → 새로운 문자열을 반환, 훼손 X
// 문자열.slice(start, end) → end 포함 안함
// 0 1 2 3 4
let str2 = '안녕하세요.';
console.log (str2.slice()); // 안녕하세요.
console.log (str2.slice(0)); // 안녕하세요.
console.log (str2.slice(0, 2)); // 안녕
console.log (str2.slice(0, 5)); // 안녕하세요
console.log (str2.substring(0)); // 안녕하세요.
console.log (str2.substring(0, 2)); // 안녕
// 시작 번호, 개수 ★
console.log (str2.substr(0)); // 안녕하세요.
console.log (str2.substr(0, 2)); // 안녕
//(4) 문자열을 배열로 반환
// ⭐split(구분자, 개수)
let str3 = '오늘은, 즐거운 목요일';
console.log(str3.split()); // ['오늘은 즐거운 목요일']
console.log(str3.split("")); // ['오', '늘', '은', ' ', '즐', '거', '운', ' ', '목', '요', '일']
console.log(str3.split(" ")); // ['오늘은', '즐거운', '목요일']
console.log(str3.split(",")); // ['오늘은', ' 즐거운 목요일']
console.log(str3.split('',2)); // ['오', '늘']
//(5) 문자열 결합
// ⭐문자열.concat('결합할문자열') → 합쳐진 문자열 반환
console.log (str3.concat(' 곧 점심시간')); // 오늘은, 즐거운 목요일 곧 점심시간
//(6) 대소문자 변환
// toUpperCase() → 대문자로 변환
// toLowerCase() → 소문자로 변환
let str4 = 'JavaScript';
console.log(str4.toUpperCase()); // JAVASCRIPT
console.log(str4.toLowerCase()); // javascript
//(7) 문자열 양끝에 공백을 제거
// trim()
let str5 = ' 안녕하세요 ';
console.log(str5); // ' 안녕하세요 '
console.log(str5.trim()); // '안녕하세요'
console.log(str5.length); // 9
//(8) 문자열로 변환
// ⭐변수.toString(진법) → 진법을 바꿀 수도 있음 ★
let number = 30;
console.log(number); // 30
console.log(number.toString()); // 30
console.log(number.toString(2)); // 11110
//(9) 해당 문자열을 숫자만큼 반복해서 새로운 문자를 반환
// 문자열.repeat(n)
let str6 = '안녕';
console.log(str6.repeat(3)); // 안녕안녕안녕
//(10) 문자열 바꿔치기
// 문자열.replace()
let txt = "안녕 하세요";
txt = txt.replace("안녕", "못해"); // ?
console.log(txt.replace("안녕", "못해")); // 못해 하세요 ?
</script>
</body>
</html>
ex.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
// ⭐(1) 문제
// 문자열 s를 숫자로 변환한 결과를 반환하는 함수, solution을 완성하시오
// (제한 조건)
// s의 길이는 1이상, 5이하
// s의 맨앞에는 부호(+, -)가 올 수 있음
// s는 부호와 숫자로만 이루어져있음
// s는 "0" 으로 시작하지 않음
// (입출력 예)
// str이 "1234" 이면 "1234"를 반환하고, "-123"이면 "-1234"를 반환하면 됨
// str은 부호(+, -)와 숫자로만 구성되어 있고, 잘못된 값이 입력되는 경우는 없음
function solution(s) {
let answer = Number(s);
return answer;
}
console.log(solution('+12345'));
// ⭐(2) 문제
// 가운데 글자 가져오기
// (문제 설명)
// 단어 s의 가운데 글자를 반환하는 함수, solution을 만들어보시오
// 단어의 길이가 짝수라면 가운데 두글자를 반환하면 됩니다
// (제한 사한)
// s는 길이가 1이상, 100이하인 string이다.
// s - abcde, qwer
// return - c, we
function solution2(s) {
let answer2 = '';
// 2로 나눴을 때 값이 0 = 짝수, 1 = 홀수
// (1)
answer2 = s.length % 2 == 0 ? s.slice(s.length/2-1, s.length/2+1) : s.slice(s.length/2, s.length/2+1);
// (2)
// if (s.length % 2 == 0) {
// answer2 = s.slice(s.length/2-1, s.length/2+1);
// }
// else {
// answer2 = s.slice(s.length/2, s.length/2+1);
// }
// (3)
// if (s.length % 2 == 0) {
// answer2 = s.substr(s.length/2-1, 2);
// }
// else {
// answer2 = s.substr(s.length/2, 1);
// }
return answer2;
}
console.log(solution2('abcde')); // c
</script>
</body>
</html>