快的。我有一个字符串:#user 9#I'm alive!
我想拔出“用户 9”。
到目前为止我在做:
if(variable.match(/\#/g)){
console.log(variable):
}
但输出仍然是完整的线。
快的。我有一个字符串:#user 9#I'm alive!
我想拔出“用户 9”。
到目前为止我在做:
if(variable.match(/\#/g)){
console.log(variable):
}
但输出仍然是完整的线。
使用.split()
, 以取出您想要的物品。
var variable = variable.split("#");
console.log(variable[1]);
.split()
将你的字符串变成一个数组,第一个变量作为分隔符。
当然,如果你只想要正则表达式,你可以这样做:
console.log(variable.match(/([^#]+)/g));
这将再次为您提供一个项目数组,但一个较小的项目,因为它不使用散列之前的空值作为项目。此外,正如@Stephen P 所说,您将需要使用捕获组(()
)来捕获您想要的项目。
沿着这些思路尝试更多的东西......
var thetext="#user 9#I'm alive!";
thetext.match(/\#([^#]+)\#/g);
您想引入一个捕获组(括号中的部分)来收集井号之间的文本。
您可能想要使用.exec()
而不是.match()
取决于您在做什么。另请参阅SO 问题的答案“您如何在 javascript 正则表达式中访问匹配的组?”