프로젝트에서 문자열을 가로채야 하는 부분이 있어서 IDE에서 자동으로 알려주는 substr을 사용했는데 크게 생각하지 않고 substr과 substring의 차이가 별로 없다고 생각했습니다.
그렇지는 않지만 내 말을 들어보세요.
1. substr(색인, 길이)
시작 인덱스 번호부터 문자열에서 지정된 개수의 문자를 추출합니다.
substr 메소드는 index와 length라는 두 가지 매개변수를 전달할 수 있습니다. Index는 시작 비트이고 길이는 가로채는 길이입니다.
인덱스가 음수가 아닌 정수인 경우:
a. 매개변수가 전달되지 않으면 문자열 자체가 얻어집니다.
예: "abcdefg".substr() -> "abcdefg"
b. 하나의 매개변수, 즉 인덱스만 전달되면 기본적으로 문자열의 마지막 숫자가 가로채어집니다.
예: "abcdefg".substr(2) -> "defg".
인덱스가 음의 정수인 경우:
c. 음의 정수 첨자가 전달되면 뒤에서부터 세기 시작 비트는 1이고, 음의 정수의 절대값의 첨자에 도달하면 앞에서 뒤로 차단됩니다.
예: "abcdefg".substr(-2) -> "fg" <=> "abcdefg".substr(-2 "abcdefg".length)
2. 하위 문자열(시작, 끝)
문자열에서 지정된 두 첨자 사이의 문자를 추출합니다.
하위 문자열도 두 개의 매개변수를 전달하지만 이 두 매개변수는 첨자 숫자입니다. 첨자는 0부터 계산되며, 가로채는 길이는 두 첨자 사이의 차이입니다.
"머리는 포함하지만 꼬리는 포함하지 않음"으로 기록 가능
예: "abcdefg".substring(2,4) -> "cd"