如果想要把标点符号放在最后面
时间: 2024-12-18 15:28:07 浏览: 5
如果你需要在处理英文句子时,确保每个单词之间的顺序不变,但是将标点符号放在单词序列的最后,那么可以在处理完单词之后,单独处理标点符号。这里是一个简单的步骤:
1. **分词和反转单词**:
- 使用`strtok`函数或者手动遍历字符串,分割出单词数组。
- 对于每个单词,将其添加到结果数组中,保持原有的顺序。
2. **查找并保存标点符号**:
- 当遍历完整个句子时,查找剩余部分是否有标点符号。可以使用`ispunct`函数来确定。
- 将找到的标点符号存储起来。
3. **拼接单词和标点**:
- 将处理过的单词连接成新的字符串,保留原始顺序。
- 最后,在新字符串的末尾添加之前保存的标点符号。
下面是伪代码示例:
```python
def reverse_words_and_punctuation(sentence):
words = sentence.split(' ') # 分割单词
reversed_words = ' '.join(words[::-1]) # 反转单词顺序
punctuation_index = len(reversed_words)
for i in range(len(sentence)-1, -1, -1): # 从后向前查找标点
if not is_alpha(sentence[i]): # 判断非字母字符
punctuation_index = i
break
final_string = reversed_words + sentence[punctuation_index:] # 添加标点符号到末尾
return final_string
```
在这个例子中,`is_alpha`是一个假设的函数,用于检查字符是否为字母;实际编程时需要替换为相应的库函数或自定义函数。
阅读全文