gpt4 book ai didi

java - 如何设置java字符串变量等于 "htp://website htp://website "

转载 作者:行者123 更新时间:2023-12-01 14:59:42 27 4
gpt4 key购买 nike

所以我有一个很大的网站列表,我想将它们全部放在一个字符串变量中。我知道我无法单独访问所有链接并转义//,但是否有超过数百个链接。有没有办法进行“ block 转义”,以便“ block ”之间的所有内容都被转义?这是我想要在变量中保存的内容的示例。

String links="http://website http://website http://website http://website http://website http://website"

还有人能想到我在执行此操作时可能遇到的任何其他问题吗?

我将其设为 htp 而不是 http,因为根据堆栈溢出,我不允许发布“超链接”,因为我不处于该级别:p

非常感谢

编辑:我正在制作一个程序,因为我有大约 50 页的 Word 文档,其中充满了电子邮件和其他文本。我只想过滤掉电子邮件。我编写了程序来执行此操作,这非常简单,而不仅仅是我需要将页面存储在程序将在其中运行的字符串变量中。

最佳答案

你的问题写得不好。请改进一下。按照目前的格式,它将被关闭为“太模糊”。

您想过滤电子邮件或网站吗?你的例子是关于网站的,你的例子是关于电子邮件的。因为我不知道,但无论如何我决定尽力帮助你,所以我决定两者都做。

代码如下:

private static final Pattern EMAIL_REGEX =
Pattern.compile("[A-Za-z0-9](:?(:?[_\\.\\-]?[a-zA-Z0-9]+)*)@(:?[A-Za-z0-9]+)(:?(:?[\\.\\-]?[a-zA-Z0-9]+)*)\\.(:?[A-Za-z]{2,})");

private static final Pattern WEBSITE_REGEX =
Pattern.compile("http(:?s?)://[_#\\.\\-/\\?&=a-zA-Z0-9]*");

public static String readFileAsString(String fileName) throws IOException {
File f = new File(fileName);
byte[] b = new byte[(int) f.length()];
InputStream is = null;
try {
is = new FileInputStream(f);
is.read(b);
return new String(b, "UTF-8");
} finally {
if (is != null) is.close();
}
}

public static List<String> filterEmails(String everything) {
List<String> list = new ArrayList<String>(8192);
Matcher m = EMAIL_REGEX.matcher(everything);
while (m.find()) {
list.add(m.group());
}
return list;
}

public static List<String> filterWebsites(String everything) {
List<String> list = new ArrayList<String>(8192);
Matcher m = WEBSITE_REGEX.matcher(everything);
while (m.find()) {
list.add(m.group());
}
return list;
}

为了确保其正常工作,首先让我们测试filterEmails和filterWebsites方法:

public static void main(String[] args) {
System.out.println(filterEmails("Orange, pizza whatever else joe@somewhere.com a lot of text here. Blahblah blah with Luke Skywalker (luke@starwars.com) hfkjdsh fhdsjf jdhf Paulo <aaa.aaa@bgf-ret.com.br>"));
System.out.println(filterWebsites("Orange, pizza whatever else joe@somewhere.com a lot of text here. Blahblah blah with Luke Skywalker (http://luke.starwars.com/force) hfkjdsh fhdsjf jdhf Paulo <https://darth.vader/blackside?sith=true&midclorians> And the http://www.somewhere.com as x."));
}

它输出:

[joe@somewhere.com, luke@starwars.com, aaa.aaa@bgf-ret.com.br]
[http://luke.starwars.com/force, https://darth.vader/blackside?sith=true&midclorians, http://www.somewhere.com]

测试 readFileAsString 方法:

public static void main(String[] args) {
System.out.println(readFileAsString("C:\\The_Path_To_Your_File\\SomeFile.txt"));
}

如果该文件存在,则将打印其内容。

如果您不喜欢它返回 List<String>而不是String将项目除以空格,这很容易解决:

public static String collapse(List<String> list) {
StringBuilder sb = new StringBuilder(50 * list.size());
for (String s : list) {
sb.append(" ").append(s);
}
sb.delete(0, 1);
return sb.toString();
}

将所有内容粘在一起:

String fileName = ...;
String webSites = collapse(filterWebsites(readFileAsString(fileName)));
String emails = collapse(filterEmails(readFileAsString(fileName)));

关于java - 如何设置java字符串变量等于 "htp://website htp://website ",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13850989/

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