我有字符串AccountDB\\DB
。
我想删除最后\\DB
中的4个字符,因此所需的结果是一个类似于AccountDB
的字符串。
如何使用正则表达式对最后四个字符进行切片?
答案 0 :(得分:3)
您可以尝试使用str.replace()提取子字符串。
var re = /(.*?)\\\\\S+/
var string1 = "AccountDB\\\\DB"
var newstr = string1.replace(re, "$1")
console.log(newstr)
输出:
AccountDB
答案 1 :(得分:2)
首先\\
将在javascript中转换为\
,因为反斜杠符号\
用于转义下一个字符,因此您的字符串将如下所示:
"AccountDB\DB"
只需使用slice()
函数
"AccountDB\\DB".slice(0, -3); //return AccountDB
alert("AccountDB\\DB".slice(0, -3));
如果您真的需要使用正则表达式,可以使用:
/(.+)(...)$/
.
:匹配任何字符(换行符除外)。
+
:在一次和无限次之间,尽可能多次
(...)$
:字符串末尾的任意三个字符
希望这有帮助。
alert("AccountDB\\DB".match(/(.+)(...)$/)[1]);
答案 2 :(得分:0)
REGEX解决方案:
^([a-zA-Z]*)\\
$1
包含您想要的内容。
var str = 'AccountDB\\DB';
var result = /^([a-zA-Z]*)\\/.exec(str);
document.write(result[1])
答案 3 :(得分:0)
您可以使用替换。例如: -
var myString = "A (complete garbage) string";
var result = myString.replace(/\s\([\w\s\.]+\)/gi, ''); //result is "A string"
在你的情况下,它将是: -
alert(("AccountDB\\DB").replace(\\.*$/g, ''));
希望这有帮助