2017-09-27 16 views
1

Comment une chaîne avec une phrase peut-elle être convertie en une série de mots, par ex. convertir la chaîne suivante:Conversion d'une longue chaîne en mots individuels en Rouge/Rebol

str: "This is a sentence with some words" 

à une série de:

["This" "is" "a" "sentence" "with" "some" "words"] 

Il semble y avoir une fonction de scission Rebol3 mais pas une telle fonction dans Rebol2.

J'ai essayé avec code suivant Parse mais il ne fonctionne pas:

str: "This is a sentence with some words" 
strlist: [] 
parse str [ 
    some got: " " (append strlist got) ] 

erreur est:

** Script Error: Invalid argument: got 

Comment cela peut-il être réalisé (méthode avec Parse sera préférable)?

+1

Dans Rebol 2, vous divisez en utilisant PARSE: 'parse" foo bar baz "" "' – rgchris

+0

Comment ça marche? – rnso

+1

caractéristique pratique, non recommandée ou disponible en rebol3 ou en rouge –

Répondre

2

Dans Rebol 2, ce serait:

str: "This is a sentence with some words" 
parse str none 

résultat:

["This" "is" "a" "sentence" "with" "some" "words"] 

Comme mentionné dans les commentaires sur votre poste, the documentation. Parse a deux modes, dont l'un est le fractionnement des chaînes. Rebol 3, split fonctionnera.

+0

Vous pouvez également ajouter comment cela peut être fait en langage rouge. – rnso

2

Il sera

split str " " 

Où est divisée fonction. Premier argument est votre chaîne, et deuxième - délimiteur.

+0

Cela ne fonctionne pas dans Rebol 2.7.8. '** Erreur de script: la scission n'a pas de valeur' – rnso

+1

Impossible de trouver la documentation pour Rebol 2. Dans Rebol 3 devrait fonctionner: http://www.rebol.com/r3/docs/functions/split.html – Shultc