1
感謝您的幫助! 我試圖在我的Rails應用中保存像Twitter標籤一樣的Twitter。用戶通過#hashtag符號輸入他們的標籤。但是,它一直保存空字符串。我添加了一個額外的除非聲明來打擊它,但現在它不保存任何標籤。 代碼:使用正則表達式保存Twitter Like Hashtags
def tag_list=(names)
self.tags = names.split(/\B#\w+/).map do |n|
unless n.strip == "" || n.strip == nil
Tag.where(name: n.strip).first_or_create!
end
end
end
我也試過以下的正則表達式也返回相同的:
/\B#\w+/
/(?:^|\s)(?:(?:#\d+?)|(#\w+?))\s/i
/(?:\s|^)(?:#(?!\d+(?:\s|$)))(\w+)(?=\s|$)/i
['String#scan'](http://ruby-doc.org/core-2.3.0/String.html#method-i-scan)可能是比['String#split']更合適的工具(http://ruby-doc.org/core-2.3.0/String.h TML#方法-I-分割)。你並不是真的想將字符串拆分成幾塊,你試圖掃描字符串以找到某些模式。 –