2011-07-29 4 views

답변

24

당신이 (더 빨리, 적은 메모리 소비) 문자열을 분할 할 수없는 경우 , 당신은 indexOf()substr()로 사용할 수 있습니다 :

var original = "Mon 25-Jul-2011"; 
var result = original.substr(original.indexOf(" ") + 1); 
+0

최종 항목 만 결과를 원한다면'original.split ('') .pop();가 더 빠를까요? –

+1

@Cristus, 당신은 여전히 ​​전체 문자열을 토큰 화하고 마지막 토큰에 액세스하기 위해 토큰이있는 배열을 작성해야합니다. 'pop()'은 그 배열을 변형 시키며 (아무것도 반환하지 않는 항목을 제거합니다). 그래서 나는 더 빠를 것이라고 생각하지 않습니다. –

+0

이것은 좋은 대답이지만, 문자열 앞에 여분의 후행 공백이 포함될 수 있다는 사실을 간과하여 잘못된 해결책으로 만듭니다. 여분의 공백을 제거해야합니다. – AleksandrH

8
var string = "Mon 25-Jul-2011"; 
var parts = string.split(' '); 
parts.shift(); // parts is modified to remove first word 
var result; 
if (parts instanceof Array) { 
    result = parts.join(' '); 
} 
else { 
    result = parts; 
} 
// result now contains all but the first word of the string. 
1

당신은 자신의 참조 ID를 사용하여 임의의 DOM을 조작 할 수 있습니다, 클래스 또는 태그. 예

<div id="date">Mon 25-Jul-2011</div> 
<script> 
$(document).ready(function() { 
    var strDate = $('#date').html(); 
    // Using regex, this will remove any day which may present in your date DOM 
    strDate.replace(/(mon|tue|wed|thu|fri|sat)/i, ''); 
    // This to trim any space present 
    strDate.replace(/^\s+|\s+$/g,''); 
    $('#date').html(strDate); 
}); 
</script> 
0

또 다른 해결책 :

var line = "Mon 25-Jul-2011"; 
var edited = line.substring(line.indexOf(" ") + 1, line.length); 
+0

죄송합니다. 너무 느립니다. @ Frédéric의 대답과 같지만 아마도 약간 더 나을 것입니다. – JWeary

0

이 정상적으로 출력 "25 7 월 2011": 나는 문자열 배열의 각 항목에서 첫 번째 단어를 제거하고 싶었

var string = "Mon 25-Jul-2011"; 
string = string.split(' ').pop(); 
+1

아니요, "Stack Over Flow"와 같은 것이 있으면 "Flow"를 반환합니다. –

0

. 나는 split, slice, join을 사용했다.

var str = "Mon 25-Jul-2011" 
var newStr = str.split(' ').slice(1).join(' ') 
console.log(str) 

콘솔에서이 코드를 실행하면 예상되는 문자열이 표시됩니다.

0
var str = "Mon 25-Jul-2011"; 
var firstSpace=str.indexOf(" "); 
var newStr= str.slice(firstSpace); 
//result:"25-Jul-2011" 
+0

@GowthamShiva 링크가 없습니다. – Melebius

관련 문제