如何使用javascript替换字符串中的单词?

时间:2017-03-21 12:02:31

标签: javascript

我有一个字符串,

mystr = 'public\uploads\file-1490095922739.jpg';

我想替换

  

公共\上传

与" ",所以我只想提取文件名即

  

文件1490095922739.jpg

或者喜欢,

  

\上传\文件1490095922739.jpg

我该怎么做呢,js中有没有这方法,或者我们可以通过替换方法来实现。

我正在执行以下步骤,

var imagepath1;
var imagepath = 'public\uploads\file-1490095922739.jpg';
unwantedChar = 'public|uploads';
regExp = new RegExp(unwantedChar , 'gi');
imagepath = imagepath.replace(regExp , '');
imagepath1 = imagepath;
$scope.model.imagepath = imagepath1.replace(/\\/g, "");

请建议我优化方法。

5 个答案:

答案 0 :(得分:1)

var input = "public\\uploads\\file-1490095922739.jpg";
var result = input.replace("public\\uploads\\", "");

这是你正在寻找的,不需要花哨的正则表达式:)。有关替换的更多信息,请参见here

答案 1 :(得分:0)

也许我不明白这个问题 - 但这不会有用吗?

width

答案 2 :(得分:0)

刚刚做的事情:

var imagepath = 'public\\uploads\\file-1490095922739.jpg';
$scope.model.imagepath = imagepath.replace('public\\uploads\\', '');

而不是使用一堆不必要的变量?

这样您就可以获取文件路径,删除public\uploads\,然后将文件路径设置为$scope.model.imagepath

请注意,这仅在图像文件路径始终与'public\uploads\*FILENAME*'匹配时才有效。

答案 3 :(得分:0)

如果你想在最后一个反斜杠字符后得到字符串的一部分,你可以使用它:

var filename = mystr.substr(mystr.lastIndexOf('\\') + 1);

另请注意,您需要转义测试字符串中的反斜杠字符:

var mystr = 'public\\uploads\\file-1490095922739.jpg';

答案 4 :(得分:0)

@SerializedName("array")
public YourElementClass[] array;

搜索最后一个正斜杠,并对字符串进行切片(+1,因为你不想要斜杠),用字符串的长度来获取文件名。这样,您就不必一直担心路径。