jQuery-从字符串中删除文本

jQuery - Removing text from a string

本文关键字:删除 文本 字符串 jQuery-      更新时间:2023-09-26

标记如下。。。。

<img id="holder" src="http://www.domain.com/images/title.size.jpg">

我的jQuery是这样的。。。。

var image = jQuery('img#holder').attr('src');

我收到了http://www.domain.com/images/title.size.jpg,但实际上我只想要http://www.domain.com/images/title.jpg。我的问题是……删除文件名中句点(和一个句点(之间的所有内容的最佳方法是什么,这样我就只剩下http://www.domain.com/images/title.jpg了?

回顾:只需要JS,它检查最后一个斜杠后是否有一个以上的句点,如果有,找到斜杠后第一个句点的位置和最后一个句号的位置,并删除在中间的区块。

我猜size是一个数字,而不是字符串。如果是,请使用以下代码:

var image = jQuery('img#holder').attr('src');
image = image.replace(/'.([0-9]+'.)/, '.');

通过该代码www.example.com/image.640.jpg变为www.example.com/image.jpg

如果size是具有类似640x480的语法,则使用此语法(注意"x"(:

image = image.replace(/'.([0-9x]+'.)/, '.');
function removebetweendots(str)
{
    var arr = str.split("/");
    var filename = arr[arr.length-1];
    var n = filename.split(".").length; 
    var newfilename;
    if(n>2)
        newfilename = filename.split(".")[0] +"."+ filename.split(".")[n-1];
    else
        newfilename = filename;
    arr[arr.length-1] = newfilename;
    return arr.join("/");
}
removebetweendots("http://www.domain.com/images/title.size.jpg");
// returns .. "http://www.domain.com/images/title.jpg"
removebetweendots("http://www.domain.com/images/title.size.moredata.jpg");
// returns .. "http://www.domain.com/images/title.jpg"

答案是使用正则表达式。

var getSize = new RegExp({},"");

{}需要是您想要匹配的任何类型。我不知道它会是.大小,每次还是一个数字。

url = jQuery('img#holder').attr('src'); //the image url
url_parts = url.split('/'); //parts of url broken by '/'    
extensions = url_parts.pop().split('.'); //extensions in url (last elements in url_parts broken by '.')
if(extensions.length > 2) //if more than two extensions
   url = url_parts.join('/')+'/'+extensions[0]+'.'+extensions.pop() //replace url by joined non extension parts of orignal url, /, first and last extension
alert("My filtered url: "+url)

工作http://jsfiddle.net/5jLbs/