Vielen Dank für Ihre Hilfe! Ich versuche, Twitter wie Hashtags in meiner Rails App zu speichern. Benutzer geben ihre Tags ein, denen das Symbol #hashtag vorangestellt ist. Es speichert jedoch weiterhin leere Zeichenfolgen. Ich habe eine zusätzliche unless-Anweisung hinzugefügt, um es zu bekämpfen, aber jetzt speichert es keine Tags. Code:Speichern von Twitter wie Hashtags mit Regex-Schienen
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
Ich habe auch versucht, die folgende Regex, die auch das gleiche zurück:
/\B#\w+/
/(?:^|\s)(?:(?:#\d+?)|(#\w+?))\s/i
/(?:\s|^)(?:#(?!\d+(?:\s|$)))(\w+)(?=\s|$)/i
speichern möchten ['String # scan'] (http://ruby-doc.org/core-2.3.0/String.html#method-i-scan) könnte hierfür ein geeigneteres Werkzeug sein als [' String # split'] (http://ruby-doc.org/core-2.3.0/String.h.) tml # Methode-i-split). Du versuchst nicht wirklich * die Zeichenfolge in Stücke zu teilen, du versuchst * die * Zeichenfolge zu scannen, um bestimmte Muster zu finden. –