2010-06-28 3 views
3

"4m 26s"형식의 페이지에서 문자열을 가져 오는 중 어떻게 초를 몇 초로자를 수 있습니까?초당 JavaScript 분과 초

많은 감사,

+1

:'26s' 또는'266s'? –

+0

4 * 60 + 26에서와 같이 266을 찾으십시오. –

답변

2
var str = "4m 26s"; 
var arr = str.split(" "); 
var sec = parseInt(arr[0], 10)*60 + parseInt(arr[1], 10); 

당신으로 parseInt를 사용하는 경우 정규식을 필요로하지 않습니다 ...

당신이 찾고있는 어떤 결과
3

간단한 정규식 작동합니다

var s = '21m 06s'; 

var m = /(\d{1,2})m\s(\d{1,2})s/.exec(s); 

var mins = parseInt(m[1], 10); 
var secs = parseInt(m[2], 10); 
+0

-1 regexp는 필요 없습니다. – galambalazs

+0

이것은 바보 같은 말입니다. 당신은 기술적으로 정규 표현식이 항상 불필요하다고 말할 수 있습니다. 요청에 따라 문제를 해결합니다. 귀하의 답변을 downvote 수 분할을 사용하여 불필요합니다. –

+0

아니요, 여기 regexp는 느리고 읽기가 어렵고 유지 관리가 더 어려워서 문제가 지나치게 복잡합니다. 당신은 좋은 이유가있을 때 regexp를 사용해야한다. 당신은 당신의 코드를 편집 할 수 있었지만 당신은 저와 논쟁 중입니다. – galambalazs

0
var str = "4m 26s"; 
console.log(str.match(/\d+m\s+(\d+)s/)[1]);//26 
2

이 아닌 정규식 방법 :

이 문자열에 string.split(" ")를 수행; 두 배열에서 string.slice(0, -1)을 수행하십시오. 첫 번째 항목에 60을 곱하십시오. 함께 추가하십시오.

관련 문제