java - 将字符串拆分为已定义的数组

标签 java regex arrays string split

基本上我需要做的只是将句子的前十个单词保存到数组中。我从我的代码中知道,如果大于 10,所有单词都会被保存,但我只迭代循环 10 次,所以它停止了。但是,如果句子少于 10 个单词,我需要用空字符串填充它。所以如果它有 10 个或更多单词我就可以让它工作。但是,如果少于 10 个字,我就无法让它工作。有谁知道让它发挥作用的方法吗?我的数组大小必须为 10。

String[] tempString = new String[10];
    tempString = sentence.replaceAll("[^a-zA-Z ]", "").toLowerCase().split("\\s+");
    for(int i = 0; i < tempString.length; i++)
    {
      System.out.println(tempString[i]);
    }

编辑:

所以本质上,如果我输入句子:“一二三四五六七八九十”,它就会起作用。但是,如果我输入“一、二、三”,则会出现 ArrayOutofBoundsException。我需要其他 7 个索引填充的是一个空字符串。

最佳答案

您可以使用以下内容:

 for(int i = 0; i < 10; i++)
    {
       if (i < tempString.length)
          System.out.println(tempString[i]);
       else
          System.out.println("");
    }

由于您需要 10 次打印,因此需要迭代 10 次。每次迭代时,您都会检查是否仍在分割的字符串数组范围内。如果不是,只需根据需要用空白空间填充其余部分即可。

关于java - 将字符串拆分为已定义的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20465914/

相关文章:

.net - 必需的是 "not matching"如果不是至少 1 个字符在 3 的序列中匹配,否则可选的正则表达式

javascript - codeigniter:如何对数组的值使用 echo 并在图表 javascript 上使用它?

php - 获取具有不同值的数组的更优雅的方式

java - Android 媒体播放器 IOException

java - 通过JSP显示BLOB(图像)

java - 如何按照我想要的方式对对象的 ArrayList 进行排序

Java,读取文件内容到arraylist

c++ - 项目的 Makefile

javascript - 正则表达式匹配字符串末尾的字符,除非有多个实例

c++ - 如何使用快速傅立叶变换计算数组元素的乘积之和?