簡體   English   中英

Spotfire - 根據條件提取文本

[英]Spotfire - Extract text based on conditions

我有一列包含一個字符串值,如下所示:

ZAE/GER-ERT/HEZ/PDC

這個想法是提取第一個三元組(本節選中的 ZAE)和基於規則的第二個三元組。

規則是,如果有一個 '-' 分隔兩個三元組,我們不提取它們,我們只取一個 '/' 之后的第一個三元組,並且在它之后沒有一個 '-'。

然后我們使用 - 來分隔兩個結果,這里是示例的目的:ZAE-HEZ

我想在一個新的計算列中得到這個值。

我嘗試使用基於 Find() 和 ExtractRX() 函數的索引,但無法使其工作。

提前致謝 !

我不確定這是最簡單的方法,但它適用於您的示例(假設字符串總是以 3 為一組的字母數字)。

您可以通過中間列來完成(為了理智,盡管您可以將 [tmp] 公式直接放入最后一列):

[tmp] 作為

RXReplace(RXReplace([your_column],'\\w{3}-\\w{3}','','g'),'/+','/','g')

這將刪除任何像 GER-ERT 這樣的雙三元組,然后刪除任何剩余的雙 /

然后最后一列將 [tmp] 拆分為 / 並連接第一項和第二項

Concatenate(Split([tmp],'/',1),'-',Split([tmp],'/',2))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM