循环输出逗号最后一个句号
时间: 2023-07-01 22:08:18 浏览: 57
这个问题可以通过遍历字符串的方式来解决。具体实现可以参考下面的代码:
```python
s = "Hello, world. How are you?"
last_comma = -1 # 最后一个逗号的位置
last_dot = -1 # 最后一个句号的位置
for i in range(len(s)):
if s[i] == ',':
last_comma = i
elif s[i] == '.':
last_dot = i
if last_comma > last_dot:
print("最后一个逗号的位置是:", last_comma)
else:
print("最后一个句号的位置是:", last_dot)
```
在上面的代码中,我们首先遍历了整个字符串,记录了最后一个逗号和最后一个句号的位置。然后,通过比较它们的位置,判断输出最后一个逗号还是最后一个句号。在这个例子中,最后一个句号的位置是16,因此输出结果为:最后一个句号的位置是: 16。
相关问题
for循环输出文字,每出现一个字就在字后面添加一个逗号,如果是最后一个字,则在后面添加句号
可以使用以下的 Python 代码实现:
```
text = "Hello World"
for i, char in enumerate(text):
if i < len(text) - 1:
print(char + ",", end="")
else:
print(char + ".", end="")
```
输出结果为:
```
H,e,l,l,o, ,W,o,r,l,d.
```
代码解释如下:
1. 首先,定义一个字符串 `text`,这里是 "Hello World"。
2. 然后,使用 `enumerate()` 函数遍历字符串中的每个字符。`enumerate()` 函数会返回一个元素为 `(索引, 值)` 的元组。
3. 在循环中,对于每个字符,判断它是否是最后一个字符。如果不是,则在字符后面添加一个逗号并且不换行。如果是最后一个字符,则在字符后面添加一个句号。
4. 最后,使用 `end=""` 来指定 `print()` 函数不要在输出后换行。
正则判断顿号、逗号、分号、句号、问号、叹号 、换行符
你可以使用以下正则表达式来判断顿号、逗号、分号、句号、问号、叹号和换行符:
```java
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class PunctuationDetection {
public static void main(String[] args) {
String text = "This is a sentence, and this is another sentence; do you know?";
// 定义正则表达式匹配标点符号和换行符
String punctuationPattern = "[,.;!?\\n]";
// 创建 Pattern 对象
Pattern pattern = Pattern.compile(punctuationPattern);
// 创建 Matcher 对象
Matcher matcher = pattern.matcher(text);
// 循环匹配标点符号和换行符并输出
while (matcher.find()) {
String punctuation = matcher.group();
System.out.println(punctuation);
}
}
}
```
此代码将输出:
```
,
;
?
```
该示例使用正则表达式 `[,.;!?\\n]` 来匹配逗号、分号、句号、问号、叹号和换行符。在正则表达式中,方括号内的字符表示一个字符集,其中的逗号、分号、句号、问号、叹号和换行符都是需要匹配的字符。
你可以根据具体的需求修改正则表达式来适应不同的标点符号和换行符的判断。