我想拆分此字符串:分割用Excel條件
=IF(BI18=0;INT(YEAR(TODAY()));IF(INT(YEAR(BI18))>2025;2025;INT(YEAR(BI18))))
[IF, BI18=0, INTYEARTODAY, IF, INTYEARBI18>2025, 2025, INTYEARBI18]
我與正則表達式試了一下:
String[] result = text.substring(1, text.length()).split("[;()]+");
但是,我得到:
[IF, BI18=0, INT, YEAR, TODAY, IF, INT, YEAR, BI18, >2025, 2025, INT, YEAR, BI18]
我很努力地找出一般的excel方法。
我將不勝感激您的答案,一般按預期分割字符串。
實際上,你要分析與嵌套表達式語言,這無異於以多種方式解析標記。正則表達式不是正確的工具。你應該考慮實現你自己的解析器。 – Mena
@Mena Yep肯定會爲此定義一個函數。然而,有沒有一種可能的方式來擺脫這個字符串的條件? – mrquad
正則表達式很棘手,因爲您在括號中查看嵌套語句。我會寫一個答案,以獲得IF(...)條件的主要內容。 – Mena