首页 > 解决方案 > 如何获取一个长字符串,并创建以特定字符序列开头 & 结尾的较小字符串

问题描述

在我的程序中,我使用了 jsoup 来解析一个 url 并生成一个 html 文档。然而,我从中获取数据的站点只是一段纯文本,没有任何元素或其他功能。我需要查看此文档,并创建以某种字符模式开头和结尾的字符串。我一直在研究正则表达式。

目前,我认为完成我的目标的最佳方法是将 HTML 文档转换为字符串。我要创建的每个子字符串都以 "{"world":"" 开头并以 ""}" 结尾,但是这些块之间的信息可以更改,并且长度可变。

我需要知道如何使用正则表达式来检测这些字符串并从中创建字符串,或者是否有更好的方法来完成我想要做的事情,

标签: javaregex

解决方案


您可以使用String.split来拆分字符串。如果您想要的部分由 分隔}{"world":"",那么您可以使用类似的东西作为分隔符:

String string = "{\"world\":\"whatever\"}{\"world\":\"something\"}";
String[] parts = string.split("}{\"world\":");
String part1 = parts[0]; // {"world":"whatever"
String part2 = parts[1]; // "something"}

然后我想你可以使用String.replace从每个部分中剪掉你不想要的部分:

String part1Cut = part1.replace("{\"world\":", ""); // "whatever"
String part2Cut = part2.replace("}", ""); // "something"

我相信有一种更清洁的方法可以做到这一点(我在操作字符串方面没有太多经验),但我只是想把这些方法带给你,以防你不知道它们。


推荐阅读