我想把一个字符串字段拆分成几个部分(空格分隔符)并使用字段的最后一个值。我知道我可以用strsplit分割数据,但是我怎么能得到最后一个值呢?例如:输入:
AAA BB CC SS DD AA
输出:
CC DD AA
谢谢
smtd7mpg1#
还有一个解决方案。它适用于所有组合。
A = LOAD 'input.txt' AS line; B = FOREACH A GENERATE REGEX_EXTRACT(line,'\\s*(\\w+)$',1); DUMP B;
(CC) (DD) (AA)
jtw3ybtb2#
输入
AAA BB CC SS DD AA A = load 'input.txt' as (line : chararray); B = FOREACH A generate line, LAST_INDEX_OF(line,' ') AS ind; C = FOREACH B GENERATE (ind>0?SUBSTRING(line,ind+1,ind+3):SUBSTRING(line,0,2)); Dump C;
输出
如果最后一个值大小在本例中不相同,请使用size()而不是ind+3
cigdeys33#
您可以通过最后一个索引、子字符串和大小的组合来实现这一点。
3条答案
按热度按时间smtd7mpg1#
还有一个解决方案。它适用于所有组合。
输出:
jtw3ybtb2#
输入
输出
如果最后一个值大小在本例中不相同,请使用size()而不是ind+3
cigdeys33#
您可以通过最后一个索引、子字符串和大小的组合来实现这一点。