2016-08-08 2 views
-1

Как вам извлечь номера из определенного столбца, состоящий из строк например:извлечение числа из массива символов

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

Ответ:

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

Что вы пробовали? StackOverflow не является «Код для меня». –

ответ

3

Там может быть более эффективными ответы там, но это работы:

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 'между'

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

Для примера, подправить синтаксис может дать нам таблицу:

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" 

Отсюда мы можем включать в себя только числовые символы и пробелы с inter, расщепление на пространствах и преобразования, чтобы получить число, исключая нулевые значения.

q){[email protected]'where each not null r:"J"$" "vs/:x inter\:.Q.n," "}tab`category 
124 154 
120 174 
126 166 
67 66 
Смежные вопросы