특정 단어 뒤에 단어를 얻는 방법? 예를 들어자바 스크립트 : 특정 단어 뒤에 단어를 가져 오시겠습니까?
: 나는 자바 스크립트로 그렇게 할 수있는 방법 $ (20)
: 나는 결과를 얻을 원하는
string = "Price:$20 is very cheap"
:이 같은 문자열이?
특정 단어 뒤에 단어를 얻는 방법? 예를 들어자바 스크립트 : 특정 단어 뒤에 단어를 가져 오시겠습니까?
: 나는 자바 스크립트로 그렇게 할 수있는 방법 $ (20)
: 나는 결과를 얻을 원하는
string = "Price:$20 is very cheap"
:이 같은 문자열이?
당신은 정규식을 사용할 수 있습니다 :
var matches = /Price:(.*?) /g.exec("Price:$20 is very cheap");
if(matches.length > 1) {
var price = matches[1];
}
else {
// Not found
}
참고이 단어 가격 후 문자의 순서와 일치합니다. 단어 가격 뒤에 공백이 있으면 끊어집니다. $ 20 이후에 공간이 없으면 끊어집니다. 입력 소스에 따라 규칙을 좀 더 복잡하게 만들어야합니다. 정규 표현식없이
죄송합니다. 문자열이 HTML 인 경우이 작업을 수행하는 방법은 무엇입니까? –
나를 확인할 수 있습니까? 문자열에 단어가없는 경우 "가격"입니까? http://jsfiddle.net/7fCfa/ –
@happi'if (matches && matches.length> 1)'. – leaf
문자열을 다음과 같이 나눕니다.
string.split(":")[1].split(" ")[0]
var str = 'Price:$20 is very cheap';
var price = str.split(' ')[0].split(':')[1]; // $20
var matches = /Price:(\$\d+)/.exec(string)
matches[1];//"$20"
다양한 솔루션 :
var s = 'Price:$20 is very cheap';
var s1 = s.slice(6, s.indexOf(' '));
var s2 = s.slice(s.indexOf(':') + 1, s.indexOf(' '));
var s3 = s.slice(s.indexOf('$'), s.indexOf(' '));
// s1 === s2 === s3 === "$20"
당신은 string.split(":")[1].split(" ")[0]
를 사용하거나 다른 사람이 str.substring();
& str.indexOf();
.Fiddle 예를의 조합을 사용할 수 있습니다 :
문자열 메서드가 모든 경우에 대해 올바른 대답을 반환 할 수 없으므로 정규 표현식을 사용하는 것이 더 좋습니다.
시도해보십시오.': ([^ \ s] +)' – Marty
모두에게 감사합니다. –