gpt4 book ai didi

java - 如何使用 2 个参数多次分割一个句子?

转载 作者:行者123 更新时间:2023-12-02 13:40:09 24 4
gpt4 key购买 nike

我遇到了问题。我有下面的字符串 src 根据 ArrayList 中指定的分隔符进行分割。每个部分拆分都必须放入一个数组中,以便进一步拆分为单词。然而我的问题是 all 之后的 ! 不满足,而 ? 满足。如果列表中的任何 2 个不同的分隔符出现在字符串 src 中,我就会遇到这个问题。您能告诉我我的代码有什么问题吗,或者告诉我一种更简单的方法来执行句子拆分。感谢您抽出时间。

public class temp
{
public static void main(String[] args)
{
boolean flag = false;
int j;
String word;
ArrayList <String> delimiter = new ArrayList <String>();
delimiter.add("!");
delimiter.add(".");
delimiter.add("?");
String src = "Hello all! today is a great day?";
String parts[] = new String[src.length()];
String mot[] = new String[src.length()];
String temp;
for(int i=0;i<src.length();i++)
{
j=0;
if(src.charAt(i) == delimiter.get(j).charAt(0))
{
System.out.println("first");
parts = src.split("!");
parts.toString();
}
j++;
if(src.charAt(i) == delimiter.get(j).charAt(0))
{
System.out.println("second");
parts = src.split("\\.");
parts.toString();
}
j++;
if(src.charAt(i) == delimiter.get(j).charAt(0))
{
System.out.println("third");
parts = src.split("\\?");
parts.toString();
}
}
System.out.println(Arrays.toString(parts));
for(int i=0;i<parts.length;i++)
{
word = parts[i];
mot = word.toLowerCase().split(" ");
}
System.out.println(Arrays.toString(mot));
}
}

我的输出如下:首先

第三[大家好!今天是个好日子][大家好!今天是一个伟大的日子]

最佳答案

显然是“!”在“all”之后不会被分割,因为在使用“!”之后您将分隔字符串存储在“parts”中,但稍后您将对“src”执行分隔操作,其中包含原始字符串(包括“!”)

关于java - 如何使用 2 个参数多次分割一个句子?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42779207/

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