我正在尝试从列中提取固定格式的字符串, 此列包含多个固定格式的字符串。
例如
2018-1234567,2018-0123456,2018-2345678
但是它总是包含许多类型的垃圾字符串(由于手动输入此列)
例如
SN:2018-1234567和2018-0123456和2018-2345678
或
跟踪ID:2018-1234567; 2018-0123456; 2018-2345678
我可以使用RXREPLACE函数消除其中的一些,但将来无法删除一些无法预测的垃圾字符串。
所以我想知道,是否有一个函数可以从此列中提取固定格式的字符串?固定格式的字符串为YYYY-NNNNNNN(7位数字)
如果我能做到这一点,则不必担心本专栏中将来的未知垃圾字符串。
非常感谢!
答案 0 :(得分:1)
这可能不是铸铁解决方案,但是如果您希望有一个空格作为分隔符,那么它可以用于示例,而无需进行神秘的环顾:
Trim(RXReplace([mystring],"\\\D*\\\d*\\\D*(\\\d{4}-\\\d{7})","$1,","g"))
它将捕获您喜欢的字符串(\\ d {4}-\\ d {7}),并将其替换为$ 1并后跟一个空格。没有被()包围的所有内容都将被留下。假定在每个字符串之前/之间出现的“垃圾”都是由数字(\\ d)和非数字(\\ D)组成的。
实际上\\ D *可以工作,但不能删除跟踪 123 ID:
Trim()
将删除最后一个空格。
Gaia