簡體   English   中英

Python字符串替代

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM