[英]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.