2011-07-29 38 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

你可以操縱任何DOM,用他們的參考ID,類或標籤。實施例

<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-JUL-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

相關問題