2016-12-07 63 views
1

我必須繪製一個空白,但我需要編寫一個case語句來搜索文本,如果「(2)」存在於文本中的任何地方,那麼「two」else if「(3)」exists文本中的任何地方然後是「三」。文本值是不同的長度,出現在字符串的不同部分,所以我不能使用right()或left()。我嘗試使用'[列]〜=「(2)」,然後是「兩個......」結尾的情況,但它無法正常工作。Spotfire案例聲明查找文本

+0

你接近,你只需要0或多個字符的前面和尾部野生卡*。現在它是REGEX明確地只查找沒有其他可能的任何一方......所以基本上與使用=相同,您也可以使用RxReplace。如果沒有人明天回答,當我回到我的箱子時,我會給你一個,但希望這有助於。至少它會讓某人回答你。 – scsimon

+0

克里斯爲你做了這個工作嗎? – scsimon

回答

2

這裏是一個應該讓你表達你想要什麼:

case 
    when [Value]~=".*\\(2\\).*" then "Two" 
    when [Value]~=".*\\(3\\).*" then "Three" 
end 

注意CASE語句順序執行,並BREAK一旦條件滿足。因此,正如你在第四行看到的那樣,如果(2)和(3)都存在,那麼對於「兩」將導致爲真,並且「三」檢查將不會發生。

Results

+0

排序......當我使用*通配符時它不起作用。是因爲我輸入「*(2)*」,它將*解釋爲字符串的一部分? – Chris

+0

@Chris您是否正在嘗試使用屬性控件? – scsimon

+0

不,只是想弄清楚如何在Case語句表達式中的字符串中使用通配符,因爲每當我在引號中使用*時,都會將其解釋爲實際字符串的一部分,而不是作爲通配符運算符。 – Chris