用于替换除字符以外的任何内容、多于一个空格和数字的正则表达式,仅以空字符结尾
Regex for replacing anything other than characters, more than one spaces and number only in end with empty char
我只想用空字符串替换字符、空格和数字以外的任何内容,或者换句话说:我们替换任何数字或字符串开头或中间的空格替换为空字符串。
例子
**Input** **Output**
Ndd12 Ndd12
12Ndd12 Ndd12
Ndd 12 Ndd 12
Nav G45up Nav Gup
尝试的代码
regexp_replace(df1[col_name]), "(^[A-Za-z]+[0-9 ])", ""))
如果你使用python
,你可以使用正则表达式。
您可以使用 re
模块。
import re
new_string = re.sub(r"[^a-zA-Z0-9]","",s)
其中 ^
表示排除。
正则表达式存在于其他语言中。所以找到一个正则表达式会很有帮助。
您可以使用:
\d+(?!\d*$)|[^\w\n]+(?!([A-Z]|$))
解释:
\d+(?!\d*$)
:匹配1+个数字后面没有0+个数字和行尾
|
: 或
[^\w\n]+(?!([A-Z]|$))
:匹配1+个后面没有大写字母或行尾的非单词字符
我想出了这个正则表达式来捕获要从字符串中删除的所有字符。
^\d+|(?<=\w)\d+(?![\d\s])|(?<=\s)\s+
做
regexp_replace(df1[col_name]), "^\d+|(?<=\w)\d+(?![\d\s])|(?<=\s)\s+", ""))
解释:
^\d+
- 从头开始捕获序列中的所有数字。
(?<=\w)\d+(?![\d\s])
- 正向后看一个单词字符,负向前看一个数字,后跟 space 并捕获中间的数字序列。 (捕获 G45up
中的数字)
(?<=\s)\s+
- 正向后看 space 后跟一个或多个 spaces,捕获所有额外的 spaces.
注意:这个正则表达式在匹配大字符串时可能效率低下,因为它使用昂贵的环视。
^\d+|(?<=\w)\d+(?![\d\s])|(?<=\s)\s+|(?<=\w)\W|\W(?=\w)|(?<!\w)\W|\W(?!\w)
我只想用空字符串替换字符、空格和数字以外的任何内容,或者换句话说:我们替换任何数字或字符串开头或中间的空格替换为空字符串。
例子
**Input** **Output**
Ndd12 Ndd12
12Ndd12 Ndd12
Ndd 12 Ndd 12
Nav G45up Nav Gup
尝试的代码
regexp_replace(df1[col_name]), "(^[A-Za-z]+[0-9 ])", ""))
如果你使用python
,你可以使用正则表达式。
您可以使用 re
模块。
import re
new_string = re.sub(r"[^a-zA-Z0-9]","",s)
其中 ^
表示排除。
正则表达式存在于其他语言中。所以找到一个正则表达式会很有帮助。
您可以使用:
\d+(?!\d*$)|[^\w\n]+(?!([A-Z]|$))
解释:
\d+(?!\d*$)
:匹配1+个数字后面没有0+个数字和行尾|
: 或[^\w\n]+(?!([A-Z]|$))
:匹配1+个后面没有大写字母或行尾的非单词字符
我想出了这个正则表达式来捕获要从字符串中删除的所有字符。
^\d+|(?<=\w)\d+(?![\d\s])|(?<=\s)\s+
做
regexp_replace(df1[col_name]), "^\d+|(?<=\w)\d+(?![\d\s])|(?<=\s)\s+", ""))
解释:
^\d+
- 从头开始捕获序列中的所有数字。
(?<=\w)\d+(?![\d\s])
- 正向后看一个单词字符,负向前看一个数字,后跟 space 并捕获中间的数字序列。 (捕获 G45up
中的数字)
(?<=\s)\s+
- 正向后看 space 后跟一个或多个 spaces,捕获所有额外的 spaces.
注意:这个正则表达式在匹配大字符串时可能效率低下,因为它使用昂贵的环视。
^\d+|(?<=\w)\d+(?![\d\s])|(?<=\s)\s+|(?<=\w)\W|\W(?=\w)|(?<!\w)\W|\W(?!\w)