[英]AWS Lambda - re.sub in Python - remove Brackets at end of line
我需要將 Hive DDL 轉換為 Redshift DDL。 我在我的代碼中使用 re.sub 來執行轉換。 我無法在行尾替換“)”。
例如:-
"ci_stage" : "varchar(30))
"target_manager_id" : "bigint)
希望 output:-
"ci_stage" : "varchar(30)"
"target_manager_id" : "bigint"
我試過了:
modified_line113 = re.sub('[)]$','"', modified_line112)
modified_line113 = re.sub(r"\)$", '"', modified_line112)
他們不工作。 在行尾刪除字符“)”的最簡單方法是什么?
您的模式使用錨點來斷言字符串的結尾,因此您需要將多行標志re.M
添加到re.sub
以進行多次替換。
import re
modified_line112 = """"ci_stage" : "varchar(30))
"target_manager_id" : "bigint)"""
modified_line113 = re.sub(r"\)$", '"', modified_line112, 0, re.M)
print(modified_line113)
Output
"ci_stage" : "varchar(30)"
"target_manager_id" : "bigint"
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.