2014-09-04 4 views
0

변수가 30_KK_1_KK_2로되어 있습니다.이 경우 정규 표현식을 사용하는 방법은 무엇입니까?

첫 번째 KK_와 두 번째 KK_ 다음에 값을 가져 오는 방법은 무엇입니까? 먼저 KK_의 출력은 두 번째 KK_ 1 및

을 것을 그것이 내가 이런 식

var str = "30_KK_1_KK_2"; 
var n[] = str.split('_KK_'); 
alert(n[0]); 
alert(n[1]); 
+0

var에 STR = "30_KK_1_KK_2을"; – Donal

+0

strpos와 strrpos가 도움이 될 것 같아요. – Yamu

답변

1

을 시도 2 ​​

그래서

당신은 몇 가지 오타가 있습니다.

1)

2) var n[] 문자열 상수 주위에 문자열 따옴표는 단순히 var n

3) 당신은 요소 0 "30"와 같이 요소 1과 2를 얻을 필요가 ...

하지 유효
var str = "30_KK_1_KK_2"; 
var n = str.split('_KK_'); 
alert(n[1]); 
alert(n[2]); 

JSFiddle : http://jsfiddle.net/TrueBlueAussie/w3mLgowc/1/

정규 표현식은 아마 overkil입니다 l과 같은 간단한 문제 (그리고 구분 기호가 고정되어 있음). 당신은 정말 당신이 코드를 시도 할 수 있습니다 정규식을 사용하려면

+0

대단히 고맙습니다. 잘 작동하고 단순 해 보입니다. 다시 한 번 감사드립니다. – Pawan

0

:

var str = "30_KK_1_KK_2"; 
regex = /.*KK_(\d*)_KK_(\d*)/g; 
value_1 = str.replace(regex,"$1"); 
value_2 = str.replace(regex,"$2"); 
alert(value_1); 
alert(value_2); 
+1

최선을 당신의 정규식을 확인하십시오 ... 귀하의 경고는 원래 문자열을 반환합니다 : http://jsfiddle.net/TrueBlueAussie/w3mLgowc/2/ –

+0

감사합니다. 코드를 변경했습니다. – jedema

+0

더 좋지만 두 번째 값만 반환합니다. http://jsfiddle.net/TrueBlueAussie/w3mLgowc/3/ 두 번째 * 및 * 세 번째를 원합니다. –

관련 문제