java1.输出一段英文中出现的单词(每个单词只输出一次)2.输出英文片段中包含the的句子。代码实现
时间: 2024-05-09 17:21:42 浏览: 8
:好的,您的问题已经收到。以下是我提供的答案:
问题一:输出一段英文中出现的单词(每个单词只输出一次)
您可以使用 Java 的字符串操作方法和正则表达式来解决这个问题。下面是一个简单的代码示例,可以实现输出一段英文中出现的单词:
```
public static void printWords(String str) {
Set<String> words = new HashSet<String>();
Matcher m = Pattern.compile("\\w+").matcher(str);
while (m.find()) {
words.add(m.group().toLowerCase());
}
for (String word : words) {
System.out.println(word);
}
}
```
该方法接收一个字符串参数 `str`,它是需要处理的英文片段。该方法使用正则表达式 `\\w+` 匹配所有包含字母或数字的单词,并将它们存储在一个集合中。最后,该方法遍历集合中的所有单词,并将它们输出到控制台上。
问题二:输出英文片段中包含 the 的句子
类似于问题一,您可以使用 Java 的字符串操作方法和正则表达式来实现。下面是一个简单的代码示例,可以输出英文片段中包含 the 的句子:
```
public static void printSentences(String str) {
Matcher m = Pattern.compile("(?<=[.?!])\\s+(?=[a-zA-Z])").splitAsStream(str)
.filter(s -> s.contains("the"))
.forEach(System.out::println);
}
```
该方法接收一个字符串参数 `str`,它是需要处理的英文片段。该方法使用正则表达式 `(?<=[.?!])\\s+(?=[a-zA-Z])` 将输入字符串分割成多个句子,并使用 `splitAsStream` 方法将其转换为流。然后,该方法过滤出所有包含字符串 "the" 的句子,并将它们输出到控制台上。
请注意,该方法使用 Java 8 中的 lambda 表达式和函数式编程相关的方法来实现。如果您尚未使用过这些功能,需要先了解它们才能使用该方法。