在 jquery 中拆分字符串

Sar*_*ara 7 string jquery split

我想在 jquery 中拆分一个字符串。我的字符串是一个文件名。我想拆分文件名以获得扩展名。我面临的是我的文件名包含任何点然后我无法获得扩展名。

我试过这样:

var str = "hjg.shjhdsj.irtjr_sdfh-dg$f@eehgj.shfgsghdf.jpg";
var test = str.split(".");

console.log(test); 
Run Code Online (Sandbox Code Playgroud)

我想要的是test[0] = "hjg.shjhdsj.irtjr_sdfh-dg$f@eehgj.shfgsghdf"test[1] = jpg

Nim*_*jan 7

var str = "hjg.shjhdsj.irtjr_sdfh-dg$f@eehgj.shfgsghdf.jpg";
var test = str.split(".");

var extension = test[test.length - 1];
var filename = str.replace("."+extension,"");
Run Code Online (Sandbox Code Playgroud)

更新演示


Nat*_*han 6

另一种方法是使用一个简单的正则表达式。

var str = "hjg.shjhdsj.irtjr_sdfh-dg$f@eehgj.shfgsghdf.jpg";
var test = str.match(/(.+)\.(.+)/);

var filename = test[1];
var extension = test[2];

console.log(filename); 
console.log(extension); 
Run Code Online (Sandbox Code Playgroud)

正则表达式使用捕获组来根据需要对数据进行分组。在我的示例中,捕获组是用括号括起来的项目。

正则表达式只是在最后一个周期之前的所有内容上获取匹配的组 1,这对应于文件名。第二个捕获组匹配最后一个期间之后的所有内容,这对应于扩展名。

如果您希望扩展包含句点,您只需修改正则表达式,以便最后一个捕获组包含句点。像这样:

var str = "hjg.shjhdsj.irtjr_sdfh-dg$f@eehgj.shfgsghdf.jpg";
var test = str.match(/(.+)(\..+)/);
Run Code Online (Sandbox Code Playgroud)


小智 5

尝试这个 :

var data = $('#date').text();
var arr = data.split('/');
$("#date").html("<span>"+arr[0] + "</span></br>" + arr[1]+"/"+arr[2]);
Run Code Online (Sandbox Code Playgroud)

有关更多详细信息,您可以访问:How to split the string using jQuery or javascript?