2016-08-08 16 views
-1

Wie extrahieren Sie Zahlen aus einer bestimmten Spalte von Strings zusammengesetzt zB:Extrahieren Anzahl von Zeichen-Array

(`category:"abc 124M def 154M" ; "hij 120M hij 174M" ; "stu 126M def 166M" ; "abx 67M def 66M") 

Antwort:

124,154 
120,174 
126,166 
67,66 
+4

Was haben Sie bisher versucht? StackOverflow ist keine "Code this for me" -Seite. –

Antwort

3

Es könnte effiziente Antworten da draußen, aber das funktioniert:

q)f:{except[;0Nj]"J"$" "vs?[x in "";x;" "]} 
q)category 
"abc 124M def 154M" 
"hij 120M hij 174M" 
"stu 126M def 166M" 
"abx 67M def 66M" 
q)f each category 
124 154 
120 174 
126 166 
67 66 
0

See 'inter'

q)myStrings:("he11o";"I am a p3rs0n") 
q)myStrings inter\:.Q.n 
"11" 
"30" 
q) 
0

Für Ihr Beispiel kann die Syntax bis zur Festsetzung geben Sie die Tabelle:

show tab:([]category:("abc 124M def 154M" ; "hij 120M hij 174M" ; "stu 126M def 166M" ; "abx 67M def 66M")) 
category 
------------------- 
"abc 124M def 154M" 
"hij 120M hij 174M" 
"stu 126M def 166M" 
"abx 67M def 66M" 

Von hier aus können wir nur numerische Zeichen und Räume mit inter, Splitting auf Räume und Umwandlung sind die Zahlen zu erhalten, NULL-Werte werden ausgeschlossen.

q){[email protected]'where each not null r:"J"$" "vs/:x inter\:.Q.n," "}tab`category 
124 154 
120 174 
126 166 
67 66