Voglio ottenere la prima lettera di ogni parola messa insieme, facendo qualcosa come "I need help"
trasformarsi in "Inh"
. Stavo pensando di tagliare tutto, poi andare da lì, o prendere subito ogni prima lettera.ruby / regex che riceve la prima lettera di ogni parola
8
A
risposta
15
Si potrebbe semplicemente utilizzare divisi, mappa e uniscono insieme qui.
string = 'I need help'
result = string.split.map(&:first).join
puts result #=> "Inh"
1
soluzione alternativa usando espressioni regolari
string = 'I need help'
result = string.scan(/(\A\w|(?<=\s)\w)/).flatten.join
puts result
Questo in sostanza dice "guarda sia per la prima lettera o qualsiasi lettera direttamente preceduto da uno spazio". La funzione di scansione restituisce array di matrici di corrispondenze, che vengono appiattite (trasformate in un array) e unite (trasformate in una stringa).
1
string = 'I need help'
result = string.split.map(&:chr).join
puts result
+0
Puoi anche usare' result = string.split.map (&: chr) * '' ' –
Problemi correlati
- 1. ottenere la prima lettera di ogni parola
- 2. maiuscolo la prima lettera di ogni parola
- 3. Notepad ++ maiuscolo ogni prima lettera di ogni parola
- 4. maiuscolo la prima lettera di ogni parola in Scala
- 5. Come ottenere la prima lettera di ogni parola usando regex in PHP
- 6. Come ottengo la prima lettera in ogni parola in scala?
- 7. Utilizzando sostituire e regex di capitalizzare prima lettera di ogni parola di una stringa in JavaScript
- 8. Restituisce la prima corrispondenza di Ruby regex
- 9. Elimina la prima parola di ogni riga
- 10. ottenere la prima lettera di ogni parola in una stringa utilizzando Objective-C
- 11. Inserire la prima lettera di ogni parola in una selezione utilizzando vim
- 12. Ottieni la prima lettera di ogni parola in una stringa, in Javascript
- 13. Ruby regex "contiene una parola"
- 14. Come maiuscolo ogni prima lettera di una stringa?
- 15. C# - Sostituisci ogni lettera UpperCase con Underscore e la lettera
- 16. Tentativo di utilizzare la maiuscola per la prima lettera di ogni parola in un campo di testo Utilizzo di Swift
- 17. Maiuscola/maiuscola prima lettera di ogni parola in una stringa in Matlab?
- 18. come far combaciare la prima parola dopo un'espressione con regex?
- 19. SQL: capitalizza solo la prima lettera
- 20. Stampa solo la prima parola di ogni paragrafo utilizzando sed
- 21. Regex trova nomi o frasi appropriate che NON sono la prima parola in una frase
- 22. Regex per abbinare prima parola nella frase
- 23. Capitalizza automaticamente la prima lettera della prima parola in una nuova frase in LaTeX
- 24. Regex per utilizzare ogni lettera una sola volta?
- 25. Posso usare solo CSS per cambiare il colore e la dimensione del carattere della prima lettera di ogni parola
- 26. Regex acquisisce ogni occorrenza di una parola entro due delimitatori
- 27. Perché Jackson 2 non riconosce la prima lettera maiuscola se la parola chiave del cammello è lunga una sola lettera?
- 28. Bootstrap Typeahead che visualizza solo la prima lettera
- 29. come fare la 1a lettera di ogni parola capitale usando il codice C#
- 30. Come faccio a scrivere in maiuscolo la prima lettera di una parola in Vim?
Scusate una domanda stupida, ma che cosa esattamente ogni parte di questo fatto? – user3606254
Grazie mille! È stato molto utile per l'apprendimento di – user3606254
s.split lo trasforma in un array: ['I', 'need', 'help'], la mappa passa attraverso ciascun frammento di array prendendo la sua prima lettera. Alla fine di s.split.map {| w | w [0]} otteniamo ["I", "n", "h"], e .join lo concatena in una stringa bella e pulita. –