在Java中,我使用字符串拆分方法拆分包含以分號分隔的值的字符串。如何使用排除我的令牌的轉義版本的正則表達式分割字符串?
目前,我有以下線在99%的情況下工作。
String[] fields = optionsTxt.split(";");
但是,該要求已被添加以包含作爲字符串的一部分的轉義分號。所以,下面的字符串應該解析出以下值:
"Foo foo;Bar bar" => [Foo foo] [Bar bar]
"Foo foo\; foo foo;Bar bar bar" => [Foo foo\; foo foo] [Bar bar bar]
這應該是痛苦地簡單,但我完全不知道如何去做。我只是想在沒有\時標記化;只有有一個時才標記。
有沒有人知道這個神奇的公式?
令牌是否包含反斜槓?如果是這樣,他們也必須逃脫,對吧? – 2009-07-03 01:51:21
在我的用例中,令牌是一個從不轉義的單個分號。如果你想有一個反斜槓的標記,那麼你需要另一種方法。 – Elijah 2009-07-10 19:44:02