正则表达式如何在java中使用带拆分函数的转义?
我正在实现一个聊天系统,在解析消息时遇到了一个问题。 作为消息字符串的一部分,我发送了一组如下的键参数
key1:value1,key2:value2,key3:value3,message:"random text with character : /" etc.
稍后我将使用spliton命令和冒号解析这个字符串。然而,其中一个参数是message,它可以同时包含命令和冒号。因此,如果消息包含这些字符中的任何一个,它将破坏我的解析逻辑。那么,有什么方法可以转义消息字符串中的这些字符吗?我试着加上两个反斜杠来逃避它,但没有成功
解析代码
String[] params = chat.split(",");
for(String param:params){
String[]pair = param.split(":");
if(pair.length != 2){
String key = pair[0];
String value = pair[1];
}else{
return null;
}
}
# 1 楼答案
你的问题不清楚,我需要更多的例子和接收JSON格式消息的最佳方式,这让你的工作更加清晰,但我提供两个答案
仅获取原始消息(如果您确定键值为“message”并捕获第二部分中的所有内容):
返回:
要转义字符串中的特殊字符,必须使用以下方法:
返回:
您必须导入Apache Commons Lang»3.0以下是maven的链接: http://mvnrepository.com/artifact/org.apache.commons/commons-lang3/3.0