我意识到这是另一个带有类似问题的帖子: Netsuite: Saved Search Function much like "Text To Columns" in Excel 但答案只拉出了第一个类,没有一个子类。
如果希望将所有类拆分为多个列,该怎么办?
类可以有多个级别到 Main:Sub1:Sub2:Sub3可以有任意数量的子类。
我假设我可以创建6个(或更多)不同的列,每个列分别产生Main和Sub-
第1列、第2列、第3列等。 主子1、子2等这似乎是我找不到答案的共同愿望。 谢谢!
可以使用REGEXP_SUBSTR
提取相应列的字符串部分。
主类(第一列)
TRIM(REGEXP_SUBSTR({class}, '^[^:]+'))
子类1(第二列)
TRIM(REGEXP_SUBSTR({class}, '^[^:]+:([^:]+)',1,1,'i',1))
子类2(第三列)
TRIM(REGEXP_SUBSTR({class}, '^[^:]+:[^:]+:([^:]+)',1,1,'i',1))
使用紧跟在正则表达式字符串的第一个"^"之后的其他[^:]+:
组来扩展此模式,以添加额外的列。
主类(第一列)
TRIM(REGEXP_SUBSTR({class}, '^([^:]*):*([^:]*):*([^:]*):*([^:]*):*([^:]*):*([^:]*)',1,1,'i',1))
子类1(第二列)
TRIM(REGEXP_SUBSTR({class}, '^([^:]*):*([^:]*):*([^:]*):*([^:]*):*([^:]*):*([^:]*)',1,1,'i',2))
子类2(第三列)
TRIM(REGEXP_SUBSTR({class}, '^([^:]*):*([^:]*):*([^:]*):*([^:]*):*([^:]*):*([^:]*)',1,1,'i',3))
([^:]*):*
组。