2011-10-03 30 views
0

在鍵值對解析字符串表達式我有這樣的字符串:經常在Java

"{ '_id' : ObjectId('4e85ba250364e5a1857ba2e4'), 
    'message' : '<[email protected]>, <action=create-flock>, 
     params=[<title=[[email protected], [email protected]], 
     attendees=immediate, flockType=immediate, duration=30]>' }"; 

我嘗試以下的正則表達式就可以了:

private static String REGEXFinal = "<(.*?)>"; 

private static String REGEX2Final = "<(.*)>"; 

施加上述兩個正則表達式最終出來後是

[email protected] 
action=create-flock 
title=[[email protected], [email protected]], attendees=immediate, flockType=immediate, duration=30] 

但我想在鍵/值格式的O/P像

user [email protected] 
action create-flock 
title [[email protected], [email protected]], attendees=immediate, flockType=immediate, duration=30] 

該怎麼做?

+0

你控制字符串?如果是這樣,您可以將整個字符串轉換爲json,並使用json解析器。 – dacwe

回答

0

,如果你有這個字符串

[email protected] 
action=create-flock 
title=[[email protected], [email protected]], attendees=immediate, flockType=immediate, duration=30] 

那麼,爲什麼不嘗試做..

String str="[email protected] action=create-flock title=[[email protected], [email protected]], attendees=immediate, flockType=immediate, duration=30]"; 
str = str.replaceAll("=", " "); 
System.out.println(str); 
+0

他們想保留一些'='字符,比如'attendees = immediate'。他們只是想要替換每行的第一個。 – Gray

0

您可以使用下面的代碼的每一行:

line.replaceFirst("=", " ");