[英]Python string substitute
我有以下代碼返回一些json。 我想將輸出更改為.sub.example.com。 通常我可以在awk中執行此操作,但是在這種情況下,需要在python中進行處理。
我一直想做的是替換文字字符串'example.com'而不是'sub.example.com'。 過濾掉IP位是可行的,但我只是想不出應該使用哪個更簡單的部分:(。
def filterIP(fullList):
regexIP = re.compile(r'\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3}$')
return filter(lambda i: not regexIP.search(i), fullList)
def filterSub(fullList2):
regexSub = re.recompile('example.com', 'sub.example.com', fullList2)
groups = {key : filterSub(filterIP(list(set(items)))) for (key, items) in groups.iteritems() }
print(self.json_format_dict(groups, pretty=True))
"role_1": [
"type-1.example.com",
"type-12-sfsdf-453-2.example.com"
]
filterSub()
應該調用re.sub()
並返回結果。 您還需要逃脫.
在正則表達式中,因為它具有特殊含義。 並使用$
定位符,以便僅在域名末尾匹配它。
def filterSub(fullList2):
return re.sub(r'example\.com$', 'sub.example.com', fullList2)
沒有理由為此使用正則表達式:這是一個簡單的字符串替換。
def filterSub(fullList2):
return fullList2.replace("example.com", "sub.example.com")
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.