如何使用Java复制文本文件中以特定字符开头和结尾的字符串
我已经使用Java在文本文件中复制了一个网页的页面源代码 文件中有以下字符串,我只需要复制数字并将其保存在另一个文件中 "编号","[67034134567034124867703204956703187006700317434670315031670314751670314299670311573]"; 只是以“'numbers'”、“[”开头并以“]”结尾的字符串 以下是我所做的:如何使用Java复制文本文件中以特定字符开头和结尾的字符串,java,string,file,search,find,Java,String,File,Search,Find,我已经使用Java在文本文件中复制了一个网页的页面源代码 文件中有以下字符串,我只需要复制数字并将其保存在另一个文件中 "编号","[67034134567034124867703204956703187006700317434670315031670314751670314299670311573]"; 只是以“'numbers'”、“[”开头并以“]”结尾的字符串 以下是我所做的: import java.io.*; import java.net.*; public class cop
import java.io.*;
import java.net.*;
public class copyID {
public static void main (String[] args) throws Exception {
String url = "http://www.google.com";
StringBuilder fullPage = new StringBuilder();
URL olx = new URL (url);
URLConnection conn = olx.openConnection();
BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStream()));
String inputLine;
while((inputLine = in.readLine()) != null){
fullPage.append(inputLine+"\n");
}
in.close();
saveToFile(fullPage.toString()); }
public static void saveToFile(String input){
try{
BufferedWriter out = new BufferedWriter (new FileWriter("ID_List.txt"));
out.write(input);
out.close();
}
catch (IOException e){}
}
}
我怎么做?我正在使用Eclipse。您的搜索字符串非常具体,因此我认为即使是最严格的反正则HTML人员也可以在这里使用正则表达式 下面的代码显示了如何隔离有问题的文本并提取数字。我假设您可以研究如何解决问题的其余部分:
String example = "sdflkjsdflskdfs0980sdflkjmlsdf'numbers', '[1231231"
+ "23,123123123,1231232,345634,3453534,123123]');asdasdasdasd";
Pattern pattern = Pattern.compile("'numbers', '\\[(.*?)\\]'\\);");
Matcher matcher = pattern.matcher(example);
while (matcher.find()) {
String[] numbers = matcher.group(1).split(",");
for (String s : numbers) {
System.out.println(s);
}
输出:
123123123
123123123
1231232
345634
3453534
123123
123123123
123123123
1231232
345634
3453534
123123
123123123
123123123
1231232
345634
3453534
123123
您可以使用
String
方法来完成
注意,这只会得到“[…]”第一次出现时的内容
输出:
123123123
123123123
1231232
345634
3453534
123123
123123123
123123123
1231232
345634
3453534
123123
你为什么给我们看那个代码?这似乎不相关(除此之外,这是您获取数据的方式)。为了解决这个具体问题,你尝试了什么?我找不到任何方法@duncanHi@Duncan,我曾尝试将您的代码应用到我的程序中,但由于我无法理解Pattern.compile方法中的字符,因此我无法进一步。你能解释一下那行代码吗?