当前位置: 首页 > 面试题库 >

在Java中将句子字符串转换为单词的字符串数组

柴岳
2023-03-14
问题内容

我需要Java程序采用类似以下的字符串

"This is a sample sentence."

并将其转换为字符串数组,例如:

{"this","is","a","sample","sentence"}

没有句号或标点符号(最好)。顺便说一句,字符串输入始终是一个句子。

有没有一种我看不到的简便方法?还是我们真的必须大量搜索空格并从空格之间的区域(即单词)创建新的字符串?


问题答案:

String.split()将完成您想要的大部分操作。然后,您可能需要遍历单词以提取任何标点符号。

例如:

String s = "This is a sample sentence.";
String[] words = s.split("\\s+");
for (int i = 0; i < words.length; i++) {
    // You may want to check for a non-word character before blindly
    // performing a replacement
    // It may also be necessary to adjust the character class
    words[i] = words[i].replaceAll("[^\\w]", "");
}


 类似资料:
  • 问题内容: 我有一个; 我想转换为字符串数组。我该怎么做?有内置的Java函数吗?可以手动完成,但是我正在搜索Java内置函数。 我想要一个数组,其中字符串的每个字符都是一个字符串。像char’n’现在将是存储在数组中的字符串“ n”。 问题答案: 要开始你的作业,请在正则表达式上拆分字符串,该表达式可以为空字符串: 产生数组: 留空的第一条目留给读者练习:-) 注意:在Java 8中,不再包含空

  • 将给定的字符串转换为单词数组。 使用 String.split() 提供的模式(pattern)(默认为非 alpha 作为正则表达式)来转换为一个字符串数组。 使用 Array.filter() 去除任何空字符。 省略第二个参数来使用默认的正则表达式。 const words = (str, pattern = /[^a-zA-Z-]+/) => str.split(pattern).filte

  • 问题内容: 我想将a转换为Character类的对象数组,但无法执行转换。我知道我可以使用该方法将String转换为原始数据类型类型为“ char”的数组,但这无助于将String转换为Character类型的对象数组。 我将如何去做? 问题答案: 用这个:

  • 问题内容: 我喜欢例如转换字符串: 变成这样的二维数组 我尝试使用该方法,但仍然没有解决方法:( 谢谢.. 问题答案: String data = “1|apple,2|ball,3|cat”; String[] rows = data.split(“,”); 除了使用正则表达式外,其他操作非常简单,因此元字符需要转义。 也可以看看 正则表达式和转义特殊字符 Java Arrays.equals(

  • 本文向大家介绍在Java中将字符串集合转换为字符串数组,包括了在Java中将字符串集合转换为字符串数组的使用技巧和注意事项,需要的朋友参考一下 首先,创建一个字符串集- 现在,使用toArray()方法转换为字符串数组- 示例 以下是在Java中将字符串集转换为字符串数组的程序- 输出结果

  • 问题内容: 如果字符串是java中的任何有效数字(例如int,long,double等),我如何将字符串转换为抽象数字。 我将不知道字符串中数字的类型,所以我不能使用特定的原始解析(例如Integer.parseInt,Long.parseLong等)。有什么通用的方法可以转换它吗? 例如: 字符串->数字 “ 23423”-> 23423 “ 34.3”-> 34.3 “ 45364573747