我想将我的字符串分成点,空格,并将引用的单词放在一起。例如,我说:
This "majestic world" is truly.awesome
它应该导致:
This
majestic world
is
truly
awesome
现在,我到目前为止的正则表达式只是myString.split("\\. | ")
。我知道
("[^\\s\"']+|\"([^\"]*)\"|'([^']*)'")
应该在空格上分开,并将引用的单词放在一起。现在,我不知道如何在那里加入点逃脱,而且坦率地说,正则表达式与在你的背后用双手绑在一起翻转汉堡一样有意义。
编辑:
以下是我想要一个更好的正则表达式的原因,因为为了让我把事情保持在引号内,我必须做以下事情:
if(listOfLists.get(i).get(j).equalsIgnoreCase("INSERT")) {
String insertInto = "";
boolean buildingString = false;
int k = 0;
while(k < listOfLists.get(i).size()) {
if(listOfLists.get(i).get(k).endsWith("\"")) {
buildingString = false;
insertInto += listOfLists.get(i).get(k);
break;
}
if(listOfLists.get(i).get(k).startsWith("\"") || buildingString) {
buildingString = true;
insertInto += listOfLists.get(i).get(k) + " ";
}
k++;
}
System.out.println("k is: " + k + " message is: " + insertInto);
dbCommands.appendToTable(listOfLists.get(i).get(k + 2), listOfLists.get(i).get(k + 3), insertInto);
我正在解析的文件的命令如下:
INSERT“John Smith”INTO college.students
答案 0 :(得分:1)
这个正则表达式可以帮到你,但你仍然需要在第二步中删除引号:
{'Group2': 8888, 'Group1': 9999, 'teams': [{'team1': 12345}, {'team2': 12341}, {'team3': 46563}, {'team4': 23478}]}
IE:
...
ingests:
- timestamp: 1970-01-01T00:00:00.000Z
id: OverheadDistributionLineSegment_31168454