我试图找出一种方法来分离出同一行上的键值对。JAVA:解析单个字符串键值对

看看下面的输入作为样本

key1=0 key2=val0 key3=my val 0 key4=some (val)

起初,我并没有在我的输入数据看到这一点,因为它被埋葬,并没有觉得有任何的空间。因此,我将每行分隔成一个基于空间的数组,然后将结果数组作为Properties对象读取,最后读入我的Map。这现在产生了不好的结果。

在这一点上,我认为这是一个正则表达式的问题,我用这种技能是非常糟糕的。

有没有办法把上述样品数据(单串)并将其正确解析成所得的HashMap

key1:0

key2:val0

key3:my val 0

key4:some (val)

剔牙!

编辑答案:

Pattern p = Pattern.compile("(\\w+)=\"*((?<=\")[^\"]+(?=\")|([^\\s]+))\"*");

String test = "a0=d235 a1=2314 com1=\"abcd\" com2=\"a b c d\"";

Matcher m = p.matcher(test);

while(m.find()){

print m.group(1);

print "="

println m.group(2);

}

+3

答案在这里找到http://stackoverflow.com/questions/11478437/java-regex-help-capturing-key-value-pairs –

+0

你能告诉我们你的代码到目前为止尝试过? –

+0

您是否尝试过使用字符串标记器?这可能是一个更简单的正则表达式选项。 –

java 解析 键值_JAVA:解析单个字符串键值对相关推荐

  1. java 字符分割函数_java中的字符串分割函数

    Java中的我们可以利用split把字符串按照指定的分割符进行分割,然后返回字符串数组,下面是string.split的用法实例及注意事项: java.lang.string.split split ...

  2. java null 转空_java 对象属性为 null 值转为 空串

    相信大家一定在开发中见过并且写过类似这样的代码: public Book getBook(int id) { if (id < 0) { return null; } return new Bo ...

  3. java 获取xml 版本号_java解析xml获取对应值

    importjavax.xml.parsers.DocumentBuilder;importjavax.xml.parsers.DocumentBuilderFactory;importjavax.x ...

  4. java封装对象数组_java解析JSON对象和封装对象的示例

    在本例中java解析JSON对象使用的是org.json,因此,如果各位想测试我的代码,请先确保有java.json.jar包,否则,就需要去网上下载这个jar包,然后才可以正常使用本代码. 本例的功 ...

  5. java htmlparser 使用教程_Java解析HTML之HTMLParser使用与详解

    HTMLParser将解析过的信息保存为一个树的结构.Node是信息保存的数据类型基础.请看Node的定义:public interface Node extends Cloneable;Node中包 ...

  6. Java中string字符串的值_Java中的字符串(String)

    一.基本概念: 字符串是一系列字符串的序列.在Java语言中字符串是用一对对双引号"",括起来的字符系列.例如"Hello","你好".从数 ...

  7. java map null吗_Java: Map里面的键和值可以为空吗?

    在Java中,Map里面的键和值可以为空吗?我们先来看一个例子: private static void TestHashMap() { // TODO Auto-generated method s ...

  8. java 输出xml文件_java解析xml文件并输出

    使用java解析xml文件,通过dom4j,代码运行前需先导入dom4j架包. ParseXml类代码如下: import java.io.File; import java.util.ArrayLi ...

  9. java解析json数据_java解析JSON数据详解

    JSON是目前最流行的轻量级数据交换语言(没有之一).尽管他是javaScript的一个子集.但由于其是独立与语言的文本格式,它几乎可以被所有编程语言所支持. 以下是对java语言中解析json数据的 ...

  10. java如何解析word大纲_java解析word文件

    POI是Apache的一个开源项目,可以到Apache网站下载相应的jar包文件,及其源文件. POI提供了提取一些非TXT文本中文本内容的API,比如提取Word,Excel等,使用起来非常方便. ...

最新文章

  1. 走进元学习:概述不同类型的元学习方法
  2. 移动APP的自动化测试
  3. AAC规格分类和下载地址
  4. 用于正则表达式的 Regex.Matches静态方法的几种用法
  5. 栈,队列,单链表,双向链表
  6. LeetCode 1870. 准时到达的列车最小时速(二分查找)
  7. 宝塔mysql data修改_宝塔一键修改mysql数据库存放路径,更改默认数据目录…
  8. 洛谷 深基 第1部分 语言入门 第7章 函数与结构体
  9. (5)css样式表特征
  10. 《ArcGIS Runtime SDK for Android开发笔记》——(10)、ArcGIS Runtime SDK支持的空间数据类型...
  11. 常见的游戏AI技术对比(FSM,HFSM,BT,GOAP,HTN,Utilitay,机器学习)
  12. 计算机常见错误代码,电脑常见错误蓝屏代码汇总及解决方法
  13. word VBA_替换下划线
  14. fw325r虚拟服务器,fw325r管理页面
  15. 技术管理那些事(二)“人剑合一”的团队
  16. 计算机未响应硬盘,最近电脑打开磁盘或文件夹老程序未响应为什么啊,有什么办法可以解决?...
  17. Windows10 笔记本从睡眠状态唤醒时取消输入密码的方法
  18. 小米笔记本降价销售或预示其销售未如理想
  19. 学Java第十三天(至Map)
  20. Redis 处理接口幂等性的两种方案

热门文章

  1. Ubuntu Server 20.04 设置静态 IP
  2. Nodejs爬虫自动爬取百度图片
  3. .Net Core的优势
  4. matlab中eval函数 批量运行程序代码
  5. Life:怎样提高睡眠质量?
  6. Excel数组与数组公式
  7. 《皮囊》中读出的人生哲学
  8. 七年一冠、IG牛13的背后是什么!
  9. 用jQuery制作对联广告
  10. hive分隔符_hive分隔符总结