簡體   English   中英

如何在Java中保留分隔符的同時在不同的分隔符之間拆分文本?

[英]How to split text between different delimiters while keeping delimiters in Java?

是否可以使用不同的分隔符來拆分文本,同時在返回的數組中保留分隔符。

例如,如果我的文本包含: sin({$=i$}^2

我想將其拆分為如下所示的數組:

['sin(' , '{$=i$}', '^2']

而我的定界符是{} 我設法實現的是一個看起來像這樣的數組: ['sin(' , '{$=i$', '}^2']

但是我無法使用這段代碼在適當的位置使用最后一個定界符}

String text = "sin({$=i$}^2";
String[] splitted = text.split("(?=[{}])");

根據您的示例,您可能正在尋找

split("(?<=\\})|(?=\\{)")

我們正在使用環顧四周機制

  • (?<=\\\\})在前面有}位置拆分(這意味着在}之后拆分)
  • (?=\\\\{)在后面有{地方拆分(這意味着在{之前拆分)

但說實話split ,甚至regex可能不是你要找的工具。 嘗試考慮構建自己的解析器/狀態機。

暫無
暫無

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

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