回答
将字符串拆分为split()
或StringTokenizer
,然后关闭引号。
String header=request.getHeader("pp-groups");
for (String val : header.replace("\"", "").split(",")) System.out.println(val);
犯规支持内嵌引号虽然,不知道这是否是必需的
“StringTokenizer是一个保留的兼容性遗留类,虽然在新代码中不鼓励使用它。建议任何寻求该功能的人都使用String或java.util.regex包的拆分方法。”所以,不要建议字符串标记器。 – brunoais 2013-05-01 20:58:22
split - 推荐的方法 - “StringTokenizer是一个保留的兼容性遗留类,尽管在新代码中不鼓励使用它。建议任何寻求该功能的人都使用String或java.util.regex包的split方法代替。” – 2013-05-01 20:58:32
@brunoais哈哈,几乎在同一时间:-) – 2013-05-01 20:59:00
,如果你想手动执行此操作,而不是使用现有的框架HTTP请求,则需要解析串起你自己。做到这一点的最好方法是利用正则表达式(http://docs.oracle.com/javase/tutorial/essential/regex/ ...这个重要部分:http://docs.oracle.com/javase/tutorial/essential/regex/groups.html)。或者,您可以花费一些时间来处理各种字符串方法,例如.split和.substring
为什么不分割和修剪?
public static void main(String...arg) {
List<String> vals = new ArrayList<String>();
String header = "\"Administrator\",\"\"Super\" User\",,\"\",view,\"Edit\"";
for(String val : header.split(",")) {
if(val.length() > 0) {
if(val.charAt(0) == '\"' && val.charAt(val.length()-1) == '\"') {
if(val.length() > 2) { //not just a pair of quotes
vals.add(val.substring(1, val.length()-1));
}
} else {
vals.add(val);
}
}
}
System.out.println(vals);
}
输出:
[Administrator, "Super" User, view, Edit]
您可以通过查看'.chartAt(0)'和'.chartAt(val.length())' – 2013-05-01 21:07:06
来添加错误检查在那里,更新来处理值不是引号与 – 2013-05-01 21:09:55
的值混合并且 – 2013-05-01 21:11:12
- 1. Groovy的http请求,解析报头值
- 2. 解析HTTP请求授权头与Python
- 3. 请求HTTP标头
- 4. 解析HTTP请求
- 5. 解析HTTP标头
- 6. 更改http请求标头
- 7. HTTP请求头
- 8. HTTP头请求
- 9. HTTP请求标头:UserAgent变量
- 10. 客户端请求的ReastEasy Http标头
- 11. 从Angular.js中删除标头$ http请求
- 12. NSURL请求设置HTTP标头
- 13. Android只获取http请求的标头
- 14. 设置http请求消息标头ios
- 15. 从http请求获取授权标头
- 16. 如何为http请求添加标头
- 17. 如何解析Java中的HTTP请求?
- 18. 如何解析C++中的http请求
- 19. 使用Http请求解析XML与AsyncTask
- 20. 解析Haskell中的HTTP请求
- 21. 解析HTTP请求行Java中
- 22. AngularJS ng-route如何解析http请求
- 23. http header的解析请求行
- 24. 用Werkzeug解析原始HTTP请求
- 25. 如何在Python 3中解码HTTP请求标头和正文?
- 26. 从wget解析http响应标头
- 27. 从HTTP请求正文解析POST请求
- 28. 了解http请求
- 29. 监控HTTP请求头
- 30. 阿卡-HTTP的请求头
问题是关系到基本的Java,而不是任何网络相关的东西。 – Lion 2013-05-01 21:02:27