如何使用正则表达式从字符串中切割字符?

时间:2016-02-23 13:09:04

标签: javascript regex

我有字符串AccountDB\\DB

我想删除最后\\DB中的4个字符,因此所需的结果是一个类似于AccountDB的字符串。

如何使用正则表达式对最后四个字符进行切片?

4 个答案:

答案 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包含您想要的内容。

Online Demo

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, ''));

希望这有帮助