在Python中使用正则表达式替换字符串开头的非字母字符的正确方法是什么?

时间:2017-10-25 17:22:44

标签: python regex

注意:我查看了其他帖子,例如“Re.sub not working for me”。这是1)对于特定模式,2)用于匹配字符串中“任何地方”的特定模式。这与帖子1)不同,因为它寻找的不是特定模式而是非字母数字正则表达式和2)因为它看起来在字符串的开头替换“具体”。

我恭敬地请你将此标记为副本,因为它不是。

我有一个方法,它接受一个字符串,并尝试使用正则表达式替换字符串开头的所有非字母字符(“BEGINNING_”)...

def m_getWebSafeString(self, dirtyAttributeName):
  cleanAttributeName = ''.join(dirtyAttributeName)
  # Deal with beginning of string...
  re.sub('^[^a-zA-z]*','BEGINNING_',cleanAttributeName)
  if "BEGINNING_" in cleanAttributeName:
    print ' -- NEW STRING = {}'.format(cleanAttributeName)
return cleanAttributeName

它运行时没有错误,但似乎没有正确替换字符串。例如,触发print语句的IF语句不会发生。

我做错了什么?

1 个答案:

答案 0 :(得分:1)

您需要将def find(): import urllib url = "https://www.pciconcursos.com.br/" f = urllib.urlopen(url) page = str(f.read()) start = page.find('title=') begin_quote = page.find('"', start + 1) end_quote = page.find('"', begin_quote+1) text = page[begin_quote+1:end_quote] print(text) 的结果分配给某事:

re.sub()