我正在尝试查找用户是否在我的新社交网络上的帖子内容中输入了用户名。例如:"生日快乐@drew他太酷了"。我希望能够在字符串中搜索" @",然后'分开'获取用户名值的字符串。我基本上想以" @ drew"结束。
var n = contentq.search("@");
var newname = contentq.splice(n, /no idea/ )
这是我到目前为止所说的。我认为最好的方法是找到" @",然后将文本从@拼接到第一个空格的索引("")。我的问题是,如何在" @"?之后得到第一个空格的索引?谢谢!
答案 0 :(得分:2)
您可以尝试使用正则表达式查找@及其后跟随空格的文本
var text = "Hello @drew how are you doing?";
function getUserName(text){
var parsed = /(@.*?)\s/.exec(text);
if(parsed){
return parsed[1];
}
}
console.log(getUserName(text)); //Prints @drew
编辑:这不会抓住" Hello @ drew"因为空间。 Jagsparrows \w+
会做得更好
var text = "Hello @drew how are you doing?";
function getUserName(text){
var parsed = /(@\w+)/.exec(text);
if(parsed){
return parsed[1];
}
}
console.log(getUserName(text)); //Prints @drew
答案 1 :(得分:2)
搜索@
,然后搜索word
正则表达式。
var str = "Happy birthday to @drew he's so cool"
str.match(/@\w+/)