是否可以从 spotfire 中的长字符串中提取固定格式的字符串?
is it possibile extract a fixed format string form a long string in spotfire?
我正在尝试从列中提取固定格式的字符串,
此列包含多个固定格式字符串。
例如
2018-1234567,2018-0123456,2018-2345678
但它总是包含多种垃圾字符串(因为手动输入此列)
例如
SN:2018-1234567 和 2018-0123456 和 2018-2345678
或
跟踪ID:2018-1234567; 2018-0123456;2018-2345678
我可以使用 RXREPLACE 函数来消除其中的一些,但我不能在未来删除一些不可预测的垃圾字符串。
所以我想知道,是否有函数可以从该列中提取固定格式的字符串?固定格式字符串为 YYYY-NNNNNNN(年 7 位数字)
如果我能做到这一点,我就不必担心本专栏中未来未知的垃圾字符串。
非常感谢!
这可能不是一个铁定的解决方案,但它适用于示例,没有神秘的环顾四周,如果你很高兴有一个 space 作为分隔符:
Trim(RXReplace([mystring],"\\D*\\d*\\D*(\\d{4}-\\d{7})",",","g"))
它捕获您喜欢的字符串 (\\d{4}-\\d{7}) 并将其替换为自身 $1 后跟 space。没有被 () 包围的所有内容都被留下。它假定无论 'garbage' 出现 before/between,每个字符串都是由数字 (\\d) 和非数字 (\\D) 混合而成。
事实上,简单的\\D*就可以了,但它不会删除像tracking123 ID:
这样的东西
Trim()
就是去掉最后一个space。
盖亚
我正在尝试从列中提取固定格式的字符串, 此列包含多个固定格式字符串。
例如
2018-1234567,2018-0123456,2018-2345678
但它总是包含多种垃圾字符串(因为手动输入此列)
例如
SN:2018-1234567 和 2018-0123456 和 2018-2345678
或
跟踪ID:2018-1234567; 2018-0123456;2018-2345678
我可以使用 RXREPLACE 函数来消除其中的一些,但我不能在未来删除一些不可预测的垃圾字符串。
所以我想知道,是否有函数可以从该列中提取固定格式的字符串?固定格式字符串为 YYYY-NNNNNNN(年 7 位数字)
如果我能做到这一点,我就不必担心本专栏中未来未知的垃圾字符串。
非常感谢!
这可能不是一个铁定的解决方案,但它适用于示例,没有神秘的环顾四周,如果你很高兴有一个 space 作为分隔符:
Trim(RXReplace([mystring],"\\D*\\d*\\D*(\\d{4}-\\d{7})",",","g"))
它捕获您喜欢的字符串 (\\d{4}-\\d{7}) 并将其替换为自身 $1 后跟 space。没有被 () 包围的所有内容都被留下。它假定无论 'garbage' 出现 before/between,每个字符串都是由数字 (\\d) 和非数字 (\\D) 混合而成。
事实上,简单的\\D*就可以了,但它不会删除像tracking123 ID:
这样的东西Trim()
就是去掉最后一个space。
盖亚