2016-02-18 52 views
0

我正在嘗試查找用戶是否在我的新社交網絡上的帖子內容中輸入用戶名。例如:「生日快樂,以吸引他很酷」。我希望能夠在字符串中搜索「@」,然後「拆分」字符串以獲取用戶名的值。我基本上想以「@drew」結束。如何在字符串搜索後在字符串中獲取第一個唯一字符?

var n = contentq.search("@"); 
var newname = contentq.splice(n, /no idea/) 

這是我迄今爲止的說實話。我想最好的方法是找到「@」,然後將文本從@複製到第一個空格的索引(「」)。我的問題是,如何獲得「@」後的第一個空格的索引?謝謝!

回答

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 

編輯:這不會趕上「你好@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 
+0

正是我需要的!非常感謝! – dec0mpiled

+0

'var text =「你好@drew」'不起作用 – JagsSparrow

+0

@JagsSparrow你是對的 – Gabs00

2

搜索然後word正則表達式。

var str = "Happy birthday to @drew he's so cool" 
str.match(/@\w+/) 
相關問題