把字符串中的多个连续空格换成一个空格
时间: 2023-03-20 17:00:46 浏览: 135
可以使用正则表达式来把字符串中的多个连续空格换成一个空格。具体来说,可以使用 Python 中的 re 模块,使用 re.sub() 函数,把匹配到的多个连续空格替换成一个空格。下面是一个示例代码:
```python
import re
s = "这是 一段 有 多个 空格的 字符串。"
s = re.sub(r"\s+", " ", s)
print(s) # 输出:这是 一段 有 多个 空格的 字符串。
```
上述代码中,`\s+` 是一个正则表达式,表示匹配一个或多个连续的空格(包括空格、制表符、换行符等)。`re.sub()` 函数将匹配到的字符串替换成一个空格,最终得到的字符串中只有一个空格。
相关问题
我需要一个正则表达式,把字符串中的英文括号及里面内容替换成空格
下面是一个正则表达式,可以将字符串中的英文括号及里面内容替换成空格:
```regex
\([^\)]*\)
```
使用时,可以将上面的正则表达式传递给字符串的 replace 方法,将匹配到的内容替换成空格。
示例代码:
```python
import re
text = "Hello (world), this is (a) test."
new_text = re.sub(r'\([^\)]*\)', ' ', text)
print(new_text) # 输出:Hello this is test.
```
在上面的示例中,使用了 Python 的 re 模块来进行正则表达式的匹配和替换。在正则表达式中,`\(` 表示匹配左括号,`\)` 表示匹配右括号,`[^\)]` 表示匹配除右括号以外的任意字符,`*` 表示匹配 0 个或多个前面的字符。因此,`\([^\)]*\)` 可以匹配到一个英文括号及括号内的任意内容。在替换时,将匹配到的内容替换成空格即可。
用java写,在字符串中如果遇到空格,把空格换为逗号,如果遇到多个空格只换为一个逗号。
你可以使用正则表达式来匹配连续的空格,并将其替换为一个逗号。具体的代码如下:
```java
String str = "Hello world, I am a Java developer.";
String replacedStr = str.replaceAll("\\s+", ",");
System.out.println(replacedStr);
```
这段代码中,我们使用 `replaceAll` 方法结合正则表达式 `"\\s+"` 将字符串中的连续空格替换为一个逗号。其中 `"\\s+"` 表示匹配一个或多个连续的空格。运行这段代码,输出结果为:
```
Hello,world,,I,am,a,Java,developer.
```
可以看到,字符串中的多个连续空格已经被成功地替换成了一个逗号。