2015-01-07 71 views
1

我有一个像“image.jpg”的字符串。我想用名称保存图像,所以我需要修剪图像扩展名。在javascript中的任何方法来实现。如何在javascript中的特定字符后修整字符串

+5

['的名称中有. str.split( “”)[0]'](HTTP://www.w3sch ools.com/jsref/jsref_split.asp)检查分割功能。否则,你也可以看看正则表达式。 – Shouvik

+0

''some.image.jpg“.replace(/\.[^.]*$/,'')' – dfsq

回答

4

您需要考虑基准名称中的.。这删除最后.ext

var fileName = "some.image.jpg"; 
 
var baseName = fileName.replace(/\.[^.]+$/, ''); 
 

 
$('div').text(baseName);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> 
 
<div></div>

+0

这正是我所需要的。只是从图像名称中删除图像扩展名。非常感谢。 –

1

有一个由javascript提供的split function。基本上你要做的就是根据你需要的字符把字符串分割成字符串数组。

var str = "image.jpg"; 
var array = str.split("."); 
array.pop(); 
var imageName = array.join(""); 

PS:这是纯粹的JavaScript,所以你不需要任何其他库。

+0

如果我有一个像'image.image.jpg'这样的图像名称,该怎么办。那么我只会留下'图片'而不是'image.image'。 –

+0

更新了代码以包含弹出数组的最后一个元素,然后加入它。这是简单的字符串操作。 – Shouvik

0

您可以使用JavaScript:

yourString = "image.jpg";  
yourString=yourString.replace('.jpg',''); 
+1

好,但需要改变,如果图像是例如.png,最好使用拆分('。') – atmd

+0

我同意,但如果名称中包含“。”?他还可以将yourString.replace的多边线与其他类型的图像相加。 – vaspant

+0

按照上面的方式str.slice(0,str.lastIndexOf('。'))更有意义。有多个替换线会膨胀你的代码,因为使用分割/香料保持干燥 – atmd

5
str = 'image.test.jpg' 

str.slice(0,str.lastIndexOf('.')) 

这占了图像

+0

你的答案也适用。谢谢。 –

相关问题