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

标签 java

我遇到了问题。我有下面的字符串 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/

相关文章:

java - JTree 延迟加载 展开

java - 将 "asdfgh"等字符串转换为整数值

java - 我很困惑, volatile 真的有用吗?

java - Java中使用线程进行套接字编程

java - 如何使用 setSelectedValue 将多个项目设置为在 JList 中选择?

java - 如何在Eclipse中的Maven项目中编译并运行Java应用程序?

java - 无法将组件添加到 JFrame

java - Java 容器是否提供故障安全迭代器

java - 向oracle中插入行的问题

java - 是否有任何开源 ISO 11703 java 实现?