2013-08-30 48 views
1

我可以刪除或之後最後apprearing點更換任何文本(。)jQuery的如何刪除或替換後的文本最後

ex)OUTsoundfile.123054236.123054236.wav 

我想刪除.wav和空字符串替換.WAV

不能使用subString,因爲.wav可能不存在於輸入文本中。

+0

使用'contains'過濾器來檢查字符串中是否存在.wav,然後使用subString來替換或刪除它。 – Maverick

回答

1

使用替換正則表達式如

'OUTsoundfile.123054236.123054236.wav'.replace(/\.wav/,''); 

閱讀更多關於replace function

+0

與其他建議不同,即使文本中沒有'.wav',也可以安全使用 –

1

這將是正確的正則表達式來做到這一點:

var myString = "ex)OUTsoundfile.123054236.123054236.wav"; 
var output = myString.replace(/\.[^.]*$/, ''); 

http://jsfiddle.net/samliew/3UdLH/

+0

OP沒有具體定義什麼是有效的擴展名,他只是想刪除最後一個點後的所有文本。 –

0

使用老式的JavaScript :

var filename = "OUTsoundfile.123054236.123054236.wav"; 
var pieces = filename.split("."); 
    // pieces is an array that looks like this: 
    // ["OUTsoundfile", "123054236", "123054236", "wav"] 

    // Remove the last element from pieces, i.e. "wav" 
    // If you want to do anything with this last piece, such as check what the 
    // piece you removed was, use the return value of this statement. 
pieces.pop(); 
    // pieces now just looks like this: 
    // ["OUTsoundfile", "123054236", "123054236"] 

    // Put the string back together 
var newFilename = pieces.join("."); 
    // newFilename is now this string: "OUTsoundfile.123054236.123054236" 

或者,沒有註釋:

var filename = "OUTsoundfile.123054236.123054236.wav"; 
var pieces = filename.split("."); 
pieces.pop(); 
var newFilename = pieces.join("."); 
0

嘗試

var trimwav = "ex)OUTsoundfile.123054236.123054236.wav"; 
alert(trimwav.substr(0,x.lastIndexOf("."))); 
相關問題