我有一些python代码,我从中检索数据库中的数据。 我感兴趣的列是一个URL,格式为:
../xxxx/ggg.com
我需要找出第一个字符是.
如果是.
,我需要删除字符串开头的两个点..
,然后在其后附加另一个字符串。
最后我必须生成一个xml文件。
This is my code:
xml.element("Count","%s" %(offercount))
for colm in offer:
xml.start("Offer")
xml.element("qqq","%s" %(colm[0]))
xml.element("aaaa","%s" %(colm[1]))
xml.element("tttt","%s" %(colm[2]))
xml.element("nnnnnn","%s" %(colm[3]))
xml.element("tttt","%s" %(colm[4]))----> This colm[4] is the string with ..
xml.end()
我是Python新手,请帮帮我 提前致谢。
答案 0 :(得分:1)
使用正则表达式,例如re.sub(r'^\.\.', '', old_string)
。正则表达式是一种匹配字符串的强大方法,因此在上面的示例中,正则表达式^\.\.
匹配字符串的开头(^
),后跟两个点,需要使用{{}进行转义。 1}}因为\
本身实际上匹配任何东西。做一个我认为你想要的更完整的例子:
.
有关正则表达式的更多信息,请参阅http://docs.python.org/2/library/re.html。
答案 1 :(得分:1)
你可以像这样保持简单
In [116]: colm = ['a', 'b', 'c', 'd', '..heythere']
In [117]: str = colm[4]
In [118]: if str.find('..') == 0:
.....: print "found .. at the start of string"
.....: x = str.replace('..', '!')
.....: print x
.....:
found .. at the start of string
!heythere
答案 2 :(得分:1)
我建议您使用内置字符串处理函数startswith()
和replace()
:
if col.startswith('..'):
col = col.replace('..', '')
或许,如果您只是希望删除字符串开头的两个句点,您可以执行以下操作:
if col.startswith('..'):
col = col[2:]
这当然假设您在开头只有两个句点,并且您希望简单地从字符串中删除这两个句点。