gpt4 book ai didi

java - 从给定字符串中提取字符串一部分的最佳方法是什么?

转载 作者:行者123 更新时间:2023-12-01 22:53:46 25 4
gpt4 key购买 nike

好吧,我有两个字符串,并且都有一个我想要的字符串(一个人的名字)。所以我可以处理它们中的任何一个以从字符串中获取该名称。问题是哪一种使用起来更有效以及使用它的最佳方式。这是两个字符串:字符串 1-

<p><a href=\"http://abinet.org/wp-content/uploads/2014/02/molestation1.jpg
\" ><img class=\"aligncenter size-full wp-image-714\" src=\"http://abine
t.org/wp-content/uploads/2014/02/molestation1.jpg\" alt=\"molestation\"
width=\"540\" height=\"393\" /></a></p>\n<p><strong>Krishna Pujari</str
ong></p>\n<p>A 25-year-old man was Sunday arrested in Kerala on charges
of raping his mother, media reports.</p>\n<p>“This was happening for s
ome time and there used to be ruckus in their home over this. The nei.....

字符串2:

 <p>Krishna Pujari A 25-year-old man was Sunday arrested in Kerala on charges
of raping his mother, media reports. “This was happening for some time and there
used to be ruckus in their home over this. The neighbours were unhappy over this
and filed a complaint and we arrested the man,” said a police official at …</p>\n
ghbours were unhappy over this and filed a complaint and we arrested
the man,” said a police official at the Pala police station.</p>\n<p>

在这两个字符串中,我想要的是“Krishna Pujari”。在第一个字符串中,在这一行中:Between Strong(在 WordPress 中表示粗体)。

<strong>Krishna Pujari</strong> 

在第二个字符串中,它是后面的第一个单词:

<p>

此数据来自使用 json api 的网站。有时该字符串可能没有该名称。所以第一个字符串不会有

<strong>Krishna Pujari</strong>

并且字符串 2 之后将没有名称:

<p>

直接从“一个25岁的男人是周日......”开始。当发生这种情况时,我根本不想提取任何字符串。这是我用来提取该名称的代码:

int startIndex = content.indexOf("<strong>")+8;
String substring = content.substring(startIndex, startIndex+500);
int subendIndex = substring.indexOf("</strong></p>");
int endIndex = startIndex + subendIndex;
String short_content = content.substring(startIndex, endIndex);

这正在起作用。但是我觉得这不是正确的方法,因为我不能依赖这个代码。因为如果找不到/strong> (当名称不存在时),它将崩溃。或者,当名称不存在并且该字符串中的其他单词是粗体时(它将在/strong> 中),那么它会给我那个我不想要的单词。

请告诉我提取该名称的最佳方法。唯一的可能是只有几个名字(4-5),或者根本不会有任何名字。

我的问题可能需要一些时间才能理解,但可能很容易回答。我是编程新手。请帮忙。

最佳答案

您可以使用regex提取strong标签内的名称,而不是计算子字符串,这不是一个好主意。

示例:

    try {
String s = "<strong>Krishna Pujari</strong>";
Pattern p = Pattern.compile("<strong>(.+?)</strong>");
Matcher m = p.matcher(s);
m.find();
System.out.println(m.group(1));
} catch (IllegalStateException e) {
// this wont close your app
}

关于java - 从给定字符串中提取字符串一部分的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24376072/

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