我有一个字符串
text:u'tsod'
"text:U"是字符串的一部分。
我只想去掉单引号之间的字符。我知道如何根据位置进行剥离,但我不知道如何根据我的情况下的值"'"进行剥离,我只想提取"tsod">
此外,python将如何理解哪一个是开头"'",哪一个为结尾"'"以便执行脱衣舞,因为两者都是相同的字符。
如果您有多对引号,那么此解决方案可能会有所帮助:
import re
strng = "text:u'tsod';text2:u'tsod2';text3:u'tsod3'"
qlist = re.findall("'(.*?)'",strng)
则qlist
将具有:['tsod', 'tsod2', 'tsod3']
您可以在倒置的逗号"'"
:上进行拆分
>>> s = "text:u'tsod'".split("'")
>>> s
['text:u', 'tsod', '']
>>> s[1]
'tsod'
来源https://stackoverflow.com/a/69891301/1531728
使用循环/枚举方法[Boboo2020]进行测试,并对嵌入单引号中的子字符串从[Avinash2021]和[user17405772021]中修改正则表达式。
交换双引号和单引号的位置以进行修改。
参考文献:
- [Boboo2020]
- [Avinnash2021]
- [用户17405772021]
我的解决方案是:
import re
my_substrings = []
test_string = "text:u'tsod'"
for values in re.findall("'(.+?)'", test_string):
my_substrings.append(values)
print(" my_substrings are:",my_substrings,"=")
解决方案测试范围更广。
import re
my_substrings = []
my_strings = ["SetVariables 'a' 'b' 'c' ", "d2efw f 'first' +&%#$%'second',vwrfhir, d2e u'third' dwedew", "'uno'?>P>MNUIHUH~!@#$%^&*()_+=0trewq'due' 'tre'fef fre f", " 'uno''dos' 'tres'", "'unu''doua''trei'", " 'um' 'dois' 'tres' "]
for current_test_string in my_strings:
"""
For each test string, extract substrings embedded within
single quotes.
"""
for values in re.findall("'(.+?)'", current_test_string):
# Append found embedded substring into the list of substrings.
my_substrings.append(values)
print(" my_substrings are:",my_substrings,"=")
my_substrings = []
要使用的备用正则表达式有:
- re.findall('"(.+?)"',current_testrongtring)[Avinash2021][user17405772021]
- re.findall("'(.*?)'";,current_testrongtring)[搁置时间2020]
- re.findall(r"'(.+?)'";,current_testrongtring)[Londberg2012][Avinash2021]
- re.findall(r"'(.*?)'";,current_testrongtring)[Londberg2012][Avinash2021]
- re.findall(r"'[']&",current_testrongtring)[Muthupandi2019]
- findall(r"'([^']*)'";,current_testrongtring)[Peters2014]
- re.findall(r"'(?:(?:)(?!(?<!\)').)*)'&";,current_testrongtring)#使双引号保留在字符串中,但可以通过其他方式删除。[Boboo2020]
- re.findall(r"'(.*?)(?<!\)'";,current_testrongtring)[Hasan2014]
- re.findall("'[^']*'",current_testrongtring)#使双引号保留在字符串中,但可以通过其他方式删除。[Martelli2013]
- 关于findall("'([^']*)'";,current_testrongtring)[jspcal2014]
- re.findall("'(.*?)'";,current_testrongtring)[akhilmd2016]
如果字符串具有子字符串嵌入引号中的模式,则current_test_string.split(""")
方法有效这是因为它在本例中使用双引号作为分隔符来标记字符串,并接受未嵌入双引号中的子字符串作为字符串中的有效子字符串提取
参考文献:
- [Avinash 2021]Arvind Kumar Avinash,回答"使用regex python提取报价之间的文本",Stack Exchange,股份有限公司,纽约州纽约市,2021年10月12日。可从Stack Exchange股份有限公司在线获取:Stack Overflow:问题:https://stackoverflow.com/a/69543129/1531728使用regex python提取引号之间的文本2021年11月8日是最后一次访问日期
- [user17405772021]user1740577,回答"使用regex python提取报价之间的文本",Stack Exchange,股份有限公司,纽约州纽约市,2021年10月12日。可从Stack Exchange股份有限公司在线获取:Stack Overflow:问题:https://stackoverflow.com/a/69543030/1531728使用regex python提取引号之间的文本2021年11月8日是最后一次访问日期
- [Shelvington2020]Iain Shelvington,回答"仅从Python混合字符串中提取单词[重复]",Stack Exchange,股份有限公司,纽约州纽约市,2020年1月5日。可从Stack Exchange股份有限公司在线获取:Stack Overflow:问题:https://stackoverflow.com/a/59598630/1531728在Python中,仅从混合字符串中提取单词2021年11月6日是最后一次访问日期
- [Lundberg 2012]Johan Lundberg,回答"Python Regex在字符串中查找双引号字符串",Stack Exchange,股份有限公司,纽约州纽约市,2012年3月1日。可从Stack Exchange股份有限公司在线获取:Stack Overflow:问题:https://stackoverflow.com/a/9519934/1531728和Python Regex在字符串中找到一个双引号字符串。2021年11月6日是最后一次访问日期
- [Muthupandi2019]Daniel Muthupandtrota,回答"Python Regex在字符串中找到双引号中的字符串",Stack Exchange,股份有限公司,纽约,纽约,2019年8月3日。可从Stack Exchange股份有限公司在线获取:Stack Overflow:问题:https://stackoverflow.com/a/57337020/1531728和Python Regex在字符串中找到一个双引号字符串。2021年11月6日是最后一次访问日期
- 〔Booboo2020〕Booboo,回答"Python Regex在字符串中查找双引号字符串",Stack Exchange,股份有限公司,纽约州纽约市,2014年3月29日。可从Stack Exchange股份有限公司在线获取:Stack Overflow:问题:https://stackoverflow.com/a/63707053/1531728和Python Regex在字符串中找到一个双引号字符串。2021年11月6日是最后一次访问日期
- [Peters2014]Martijn Pieters,回答"提取双引号之间的字符串",Stack Exchange,股份有限公司,纽约,纽约,2014年3月29日。可从Stack Exchange股份有限公司在线获取:Stack Overflow:问题:https://stackoverflow.com/a/22735466/1531728并在双引号之间提取字符串2021年11月6日是最后一次访问日期
- 【Hassan2014】Sabuj Hassan,回答"提取双引号之间的字符串",Stack Exchange,股份有限公司,纽约,纽约,2014年3月29日。可从Stack Exchange股份有限公司在线获取:Stack Overflow:问题:https://stackoverflow.com/a/22735480/1531728并在双引号之间提取字符串2021年11月6日是最后一次访问日期
- [Martelli2013]Alex Martelli和Sumit Singh;从引号之间提取字符串";,Stack Exchange股份有限公司,纽约州纽约市,2014年3月14日。可从Stack Exchange股份有限公司在线获取:Stack Overflow:问题:https://stackoverflow.com/a/2076357/1531728从报价之间提取字符串2021年11月6日是最后一次访问日期
- [jspcal2014]jspcal,回答"从引号之间提取字符串";,Stack Exchange股份有限公司,纽约州纽约市,2014年3月14日。可从Stack Exchange股份有限公司在线获取:Stack Overflow:问题:https://stackoverflow.com/a/2076356/1531728从报价之间提取字符串2021年11月6日是最后一次访问日期
- [akhilmd2016]akhilmd,对";在引号之间剥离python中的字符串";,Stack Exchange股份有限公司,纽约州纽约市,2016年7月2日。可从Stack Exchange股份有限公司在线获取:Stack Overflow:问题:https://stackoverflow.com/a/38161072/1531728和2021年11月5日是最后一次访问日期