Python字符串处理:过滤字符串中的数字与符号,保留英文
时间: 2024-03-12 22:47:37 浏览: 24
可以使用正则表达式来过滤字符串中的数字和符号,保留英文。具体代码如下:
```python
import re
s = "Hello, World! 123"
s = re.sub(r'[^a-zA-Z\s]', '', s)
print(s) # 输出:Hello World
```
首先导入 `re` 模块,然后使用 `re.sub()` 方法进行替换操作。其中,第一个参数 `[^a-zA-Z\s]` 表示匹配所有非英文字母和非空白字符,第二个参数是要替换成的字符,这里为空字符串。最后输出结果即可。
相关问题
过滤字符串中的空白字符和中英文标点符号
要过滤字符串中的空白字符和中英文标点符号,可以使用正则表达式来实现。下面是一个示例代码:
```python
import re
def filter_string(text):
# 定义正则表达式,匹配空白字符和中英文标点符号
pattern = r'[\s\p{P}]'
# 使用正则表达式进行替换
filtered_text = re.sub(pattern, '', text)
return filtered_text
# 测试代码
text = "Hello, 你好! This is a test string. "
filtered_text = filter_string(text)
print(filtered_text)
```
运行以上代码,输出结果为:
```
Hello你好Thisisateststring
```
这样就过滤掉了字符串中的空白字符和中英文标点符号。
解释:
1. 首先导入了`re`模块,用于使用正则表达式进行匹配和替换。
2. 定义了一个`filter_string`函数,接受一个字符串作为参数。
3. 在函数内部,使用正则表达式`[\s\p{P}]`来匹配空白字符和中英文标点符号。其中`\s`表示空白字符,`\p{P}`表示中英文标点符号。
4. 使用`re.sub`函数将匹配到的字符替换为空字符串,得到过滤后的字符串。
5. 最后返回过滤后的字符串。
python滤除字符串两端符号
可以使用strip()方法来滤除字符串两端的符号。例如,如果要滤除字符串s两端的空格和双引号,可以使用以下代码:
```
s = ' "hello world" '
s = s.strip(' "')
print(s) # 输出:hello world
```
strip()方法的参数指定要滤除的字符集合,如果不指定参数,则默认过滤空格。该方法返回一个新的字符串,原字符串不会被修改。