Wenn s = "1 2 3 4 5"
, wie können wir ein Integer Array von diesem erhalten. Ich möchte ein 5 Element Array{Int64,1}
[1; 2; 3; 4; 5]
zurückgeben.Wie konvertiert man von String zu Array?
Antwort
Wie @isebarn verwendet, split(s)
ist nützlich zum Aufteilen einer Zeichenfolge in Wörter (bei Leerzeichen standardmäßig aufteilen):
julia> s = "1 2 3 4 5"
"1 2 3 4 5"
julia> split(s)
5-element Array{SubString{String},1}:
"1"
"2"
"3"
"4"
"5"
Jetzt können Sie ein Array Verständnis verwenden:
[parse(Int, ss) for ss in split(s)]
Hier parst parse(Int, ss)
einen String ss
in eine ganze Zahl.
Beachten Sie auch, dass dies einen eindimensionalen Vektor und kein zweidimensionales Array zurückgibt. Es gibt keinen Grund, hier ein zweidimensionales Array vorzuziehen - das ist ein natürlich eindimensionales Objekt.
int_s = map(x -> parse(x), split(s))
bearbeiten
oder als @ David P. Sanders schlägt vor, die ich mit
int_s = map(parse, split(s))
Ich bin damit einverstanden habe den Teil Int links, wie ich weiß nicht, ob Sie planen, von in der Zeichenfolge nur Ganzzahlen
Beachten Sie, dass Sie dies als 'map (parse, split (s))' –
schreiben können (und sollten) immer Spaß, neue Dinge zu lernen. Warum das "und sollte" Teil? – isebarn
Sie erstellen eine neue Funktion, die die alte umschließt und genau dasselbe tut. Ich denke nicht, dass dies weg optimiert wird (obwohl es möglich ist), also wird das ein bisschen langsamer sein. Außerdem sieht es so aus, als würde etwas Komplizierteres vor sich gehen, während Sie eigentlich nur 'map'ping' parse' sind. Sie könnten z.B. schreibe meine Antwort wie folgt um: map (x-> parse (Int, x), split (s)) '; Hier müssen Sie die anonyme Funktion definieren, da Sie die Funktion 'parse (Int, x)' nicht direkt zuordnen können, da sie zwei Argumente anstelle von eins hat. Ich finde immer noch das Array Verständnis leichter zu folgen, obwohl –
Wenn Sie mit Version 0.5 oder höher können Sie auch dies tun:
int_s = parse.(split(s))
Der abschließende Punkt ist die neue kompakte Broadcast-Notation. Möglicherweise wird dies in zukünftigen Versionen die bevorzugte Syntax sein.
Danke für Ihre Antwort, wird gebeten, in die angenommene Antwort aufgenommen zu werden. – Abhijith
- 1. Wie konvertiert man NSSet zu [String] Array?
- 2. Wie konvertiert man String-Array zu enum-Array in Java
- 3. Wie konvertiert man String-Array zu Variant-Array - Excel VBA
- 4. Wie konvertiert man mit angularjs von String zu Array?
- 5. Wie konvertiert man Array von Byte zu String in Java?
- 6. Wie konvertiert man String von JSON zu Float-Array?
- 7. Wie man httppotifiedfilebase in String-Array konvertiert
- 8. Wie konvertiert man RDD [(String, String)] in RDD [Array [String]]?
- 9. Wie konvertiert man Byte-Array zu Base64-String in Swift?
- 10. Wie konvertiert man JSON Array String zu setzen in Java
- 11. Wie konvertiert man ein Array zu einem String in PHP?
- 12. Wie konvertiert man String zu Array in Scala.html?
- 13. Wie man String in String Array innerhalb eines Arrays konvertiert
- 14. Wie konvertiert man ein Array von Ints in einen String?
- 15. Wie konvertiert man Byte-Array zu MultipartFile
- 16. Wie konvertiert man String von ganzen Zahlen in int Array?
- 17. Wie konvertiert man String in String Array in Java?
- 18. Wie konvertiert man ein String-Array in ein int-Array?
- 19. Wie konvertiert man eingebettete String-Array in Array Javascript
- 20. Wie konvertiert man String zu JsonObject
- 21. Wie man von Base64 zu String von Hand konvertiert
- 22. Wie konvertiert man u8 Array zu u32?
- 23. Wie konvertiert man [] string in ... string
- 24. Wie konvertiert man ein String-Array in eine CharSequence?
- 25. Wie konvertiert man Array-String in JSON-Objekt?
- 26. Wie konvertiert man ein BeautifulSoup-Listen-Array in einen String?
- 27. Wie konvertiert man von char zu Platform :: String^(C++/CLI)
- 28. Wie konvertiert man String als stdClass Objekt in Array [PHP]
- 29. Wie konvertiert man DateTime in String?
- 30. Wie konvertiert man Array [String] in ein korrektes Schema?
Ich stimme zu, dass es natürlich ist, eine eindimensionale Array zu erwarten, und es gibt keinen Grund, ich brauche die zweidimensionale. Ich werde meine Frage bearbeiten, danke für die Antwort. – Abhijith
Wie wäre es auch mit der 0,5 Feature (Antwort von @DNF)? – Abhijith