2013-10-03 23 views
1

我有以下字符串:分割字符串中的Java基于一些价值

String verifyPaymentDetails = "{ 
2298597={mihpayid=403993715508098532, request_id=NULL, bank_ref_num=NULL, amt=53.77, disc=0.00, mode=CC, PG_TYPE=AXIS, card_no=512345XXXXXX2346, name_on_card=emu, udf2=0, addedon=2013-06-03 17:34:42, status=failure, unmappedstatus=failed, Merchant_UTR=NULL, Settled_At=NULL}, 
6503939={mihpayid=Not Found, status=Not Found} 
}" 

,我想拆分字符串,并得到这样的价值观:2298597={mihpayid=403993715508098532, request_id=NULL, bank_ref_num=NULL, amt=53.77, disc=0.00, mode=CC, PG_TYPE=AXIS, card_no=512345XXXXXX2346, name_on_card=emu, udf2=0, addedon=2013-06-03 17:34:42, status=failure, unmappedstatus=failed, Merchant_UTR=NULL, Settled_At=NULL},如何使用string.split做到这一点在Java中?

和分裂后的价值我已经取代{}的价值。

请亲切地帮助你做到这一点。

感谢

回答

1

尝试

String verifyPaymentDetails = "{" 
    + "2298597={mihpayid=403993715508098532, request_id=NULL, bank_ref_num=NULL, amt=53.77, disc=0.00, mode=CC, PG_TYPE=AXIS, card_no=512345XXXXXX2346, name_on_card=emu, udf2=0, addedon=2013-06-03 17:34:42, status=failure, unmappedstatus=failed, Merchant_UTR=NULL, Settled_At=NULL}," 
    + "6503939={mihpayid=Not Found, status=Not Found}" + "}"; 
String[] split = verifyPaymentDetails.substring(1, 
    verifyPaymentDetails.length() - 2).split("(\\}, ?|=\\{)"); 
+0

这不会给你=记号,他希望,同时也为您提供了令牌像'Settled_At = NULL} \ n6503939' – Sinkingpoint

+0

你为什么downvote?这几乎是正确的,并会告诉他如何去做。但我确实纠正了它,所以请尝试接受这个答案。 –

+0

您的权利,删除我downvote感谢您的编辑。 – Sinkingpoint