如何替换 python 中的匹配字符串
how can I substitute a matched string in python
我有一个字符串 =""/One/Two/Three/Four"
我想转换成="Four"
我可以在 perl 中一行完成此操作
string =~ s/.*+\///g
如何在 python 中执行此操作?
Python的re
模块可以处理正则表达式。对于这种情况,你会做
import re
my_str = "/One/Two/Three/Four"
new_str = re.sub(".*/", "", my_str)
# 'Four'
re.sub()
是正则表达式替换方法。就像您的 perl 正则表达式一样,我们只需查找任意数量的字符,后跟斜线,然后将其替换为空字符串。剩下的是最后一个斜线后的内容,即 4.
str_name="/One/Two/Three/Four"
str_name.split('/')[-1]
一般来说,split 是一种基于某些正则表达式将字符串转换为列表的安全方法。然后,我们可以调用该列表中的最后一个元素,在本例中恰好是 "Four"。
希望这对您有所帮助。
解决这个问题的可能性有很多。一种方法是索引字符串。其他串法可以参考here
string ="/One/Two/Three/Four"
string[string.index('Four'):]
此外,您可以使用 .split('/')
通过斜杠拆分字符串
print(string.split('/')[-1])
另一种选择是正则表达式:参见 here
我有一个字符串 =""/One/Two/Three/Four"
我想转换成="Four"
我可以在 perl 中一行完成此操作
string =~ s/.*+\///g
如何在 python 中执行此操作?
Python的re
模块可以处理正则表达式。对于这种情况,你会做
import re
my_str = "/One/Two/Three/Four"
new_str = re.sub(".*/", "", my_str)
# 'Four'
re.sub()
是正则表达式替换方法。就像您的 perl 正则表达式一样,我们只需查找任意数量的字符,后跟斜线,然后将其替换为空字符串。剩下的是最后一个斜线后的内容,即 4.
str_name="/One/Two/Three/Four"
str_name.split('/')[-1]
一般来说,split 是一种基于某些正则表达式将字符串转换为列表的安全方法。然后,我们可以调用该列表中的最后一个元素,在本例中恰好是 "Four"。
希望这对您有所帮助。
解决这个问题的可能性有很多。一种方法是索引字符串。其他串法可以参考here
string ="/One/Two/Three/Four"
string[string.index('Four'):]
此外,您可以使用 .split('/')
print(string.split('/')[-1])
另一种选择是正则表达式:参见 here