gpt4 book ai didi

Java 正则表达式,如何在点、空格上拆分并将引用的单词保持在一起

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:51:03 25 4
gpt4 key购买 nike

我想在一个点、空格上拆分我的字符串,并将引用的单词放在一起。例如说我有:

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);

我正在解析的文件中有如下命令:

将“John Smith”插入 college.students

最佳答案

此正则表达式将帮助您完成大部分工作,但您仍需要在第二步中删除引号:

(\".*\"|[^\\s\\.]+)

即:

Matcher m = Pattern.compile("(\".*\"|[^\\s\\.]+)")
.matcher("This \"majestic world\" is truly.awesome");
while (m.find()){
System.out.println(m.group(1).replaceAll("\"", ""));
}

关于Java 正则表达式,如何在点、空格上拆分并将引用的单词保持在一起,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42522202/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com