给定一个由英文单词和标点符号组成的句子,单词间有空格,单词与标点间无空格,要求尽可能简便地去除标点符号并为每个单词计数
时间: 2024-01-17 22:04:38 浏览: 92
好的,可以通过以下 Python 代码实现:
```python
import string
sentence = "Hello, world! This is a sentence."
sentence = sentence.translate(str.maketrans("", "", string.punctuation)) # 去除标点符号
words = sentence.split() # 拆分成单词
word_count = {}
for word in words:
if word in word_count:
word_count[word] += 1
else:
word_count[word] = 1
print(word_count)
```
这段代码会输出一个字典,其中键为单词,值为该单词出现的次数。对于给定的句子,输出结果为:
```
{'Hello': 1, 'world': 1, 'This': 1, 'is': 1, 'a': 1, 'sentence': 1}
```
相关问题
java给定一个由俄语单词和标点符号组成的字符串,以空格(一个或多个)分隔。 找出最短单词的长度。
可以使用 String 类的 split 方法将字符串分割成单词,然后遍历每个单词,找出最短的单词长度。
代码示例:
```java
public class MinWordLength {
public static void main(String[] args) {
String str = "Привет, мир! Я изучаю программирование на Java.";
String[] words = str.split("\\s+"); // 分割字符串为单词数组,\\s+ 表示一个或多个空格
int minLength = Integer.MAX_VALUE; // 初始最小长度为整型最大值
for (String word : words) {
int length = word.replaceAll("[^а-яА-Я]", "").length(); // 只考虑俄语单词,去除标点符号
if (length < minLength) {
minLength = length;
}
}
System.out.println("最短单词长度为:" + minLength);
}
}
```
输出结果:
```
最短单词长度为:1
```
java给定一个由俄语单词和标点符号组成的字符串,以空格(一个或多个)分隔。 不使用正则表达式 找出最短单词的长度。
可以使用split方法将字符串按空格分割成单词数组,然后遍历数组找出最短单词的长度。
Java代码如下:
```java
public static int findShortestWordLength(String str) {
String[] words = str.split("\\s+");
int shortestLength = Integer.MAX_VALUE;
for (String word : words) {
int length = word.length();
if (length < shortestLength) {
shortestLength = length;
}
}
return shortestLength;
}
```
其中,split方法使用正则表达式"\s+"来匹配一个或多个空格,将字符串分割成单词数组。遍历单词数组,找出最短单词的长度,最后返回结果。
阅读全文