본문 바로가기

Information Technology/oracle

SUBSTR


문자열에서 특정 위치 안에 있는 문자열을 찾는 메소드

subString()과 비슷한 작동을 하나 문자열의 끝에서 부터도 찾을 수 있는 것이 다른 점입니다.

"전체 문자열".substr(위치, 길이)로 "위치"와 "길이" 2개의 인자를 지정할 수 있는데 "위치"는 찾을 위치를 지정하는 정수입니다. "길이"는 "위치"에 지정한 곳의 문자부터 반환할 문자 갯수입니다. "위치"는 양수 정수와 음수 정수를 지정할 수 있습니다.
"위치" 값으로 양수를 지정하면 문자열의 처음부터 "길이"에 지정한 갯수의 문자열을 반환하고 "위치"값을 음수로 지정하면 문자열의 끝에서 부터 "길이"에 지정한 갯수의 문자열을 반환합니다.

var hello = "123 456"
hello = hello.substr(1, 4)
alert(hello)
위는 문자열의 시작에서 2번째의 문자에서 시작하여 4개의 문자를 반환합니다. 그래서, "23 45" 을 보여줍니다. "위치"값으로 전체 문자열의 길이를 넘는 양수 정수를 지정하면 아무런 문자도 반환하지 않습니다. 위의 구문에서 hello.substr(10, 4)로 지정하면 ""을 반환합니다.
"위치"값으로 음수 정수를 지정하면 문자열의 끝에서 부터의 길이를 반환합니다.

var hello = "123 456"
hello = hello.substr(-1, 2)
alert(hello)
위는 "56"을 반환합니다. 음수 정수 -1을 "위치"로 지정하면 문자열의 맨끝 문자부터 시작합니다. 이 때, 음수 정수의 크기가 전체 문자열의 길이보다 크다면 문자열의 처음 위치로 지정됩니다. 그래서 위의 구문에서 hello.substr(-10, 2) 는 "12"를 반환합니다.
"길이"를 정수 0으로 지정하면 아무런 문자도 반환하지 않습니다. substr() 메소드의 "길이" 인자는 지정하지 않을 수도 있는데 이 경우는 전체 문자열의 끝까지로 지정됩니다.

출처 : http://blog.naver.com/amistyrain01?Redirect=Log&logNo=110036565988