我有一个字符串,
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, "");
请建议我优化方法。
答案 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,因为你不想要斜杠),用字符串的长度来获取文件名。这样,您就不必一直担心路径。