gpt4 book ai didi

java - 从String中获取某个子串

转载 作者:行者123 更新时间:2023-12-01 17:46:08 26 4
gpt4 key购买 nike

为了让您了解该程序的功能,用户输入作者姓名,我需要检查文件以了解该人写了哪篇文章。对于我遇到问题的部分,我只需要输出想要的作者的全名(在文件中给出)。

如何才能只获取所需作者的全名?谢谢

这是我到目前为止的代码示例(将创建一个方法):

    int indexOfAnd;

String authors = "J. Park and J. N. James and Q. Li and Y. Xu and W. Huang";
String authorName = "James";
String authorFullName = "";

do
{
indexOfAnd = authors.indexOf("and", 0);
authorFullName = authors.substring(indexOfAnd+4);
System.out.print(indexOfAnd);
}
while(!authorFullName.contains(authorName));


System.out.print(authorFullName);//Desired output: J. N. James

最佳答案

我建议您将输入字符串拆分为其作者,然后循环遍历结果返回以查找您想要的作者。

高级示例:

public static void main (String[] args) throws java.lang.Exception
{
String authors = "J. Park and J. N. James and Q. Li and Y. Xu and W. Huang";
String authorName = "James";

String[] parts = authors.split(" and ");

for (String p : parts) {
if (p.contains(authorName)) {
System.out.println(p);
}
}
}

通过这种方式,您正在处理要搜索的标记,而不是尝试进行偏移。然而,这并不是唯一的方法。与原始代码类似,它还假设:

  • 作者的名字实际上并不包含单词“和”
  • 输入的字符串不为空
  • 可以通过 contains 方法唯一标识所需的作者。换句话说,如果同一输入字符串中有“J. N. James”和“James Joyce”,则这种方法将会失败。但这也许是一个不同的问题。

关于java - 从String中获取某个子串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55232659/

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