[英]Slice string after period and before next space
我正在遍历看起来像这样的 SQL 语句(字符串)...
'SELECT COL_1, COL_2, COL_3 from SCHEMA_1.TABLE_ABC MINUS SELECT COL_1, COL_2, COL_3 from SCHEMA_2.TABLE_WXYZ..'
每次循环时,我都想捕获第一个表名并存储它。 因此,在第一个句点 (.) 之后和下一个空格之前的任何内容。 上面例子的期望输出:
TABLE_ABC
有任何想法吗?
您可以在此处使用re.findall
:
inp = 'SELECT COL_1, COL_2, COL_3 from SCHEMA_1.TABLE_ABC MINUS SELECT COL_1, COL_2, COL_3 from SCHEMA_2.TABLE_WXYZ..'
table_name = re.findall(r'\bfrom\s+[^.]+\.(\S+)', inp, flags=re.IGNORECASE)[0]
print(table_name)
这打印:
TABLE_ABC
您可以在纯 Python 中完成,而无需导入任何模块:
query = 'SELECT COL_1, COL_2, COL_3 from SCHEMA_1.TABLE_ABC MINUS SELECT COL_1, COL_2, COL_3 from SCHEMA_2.TABLE_WXYZ..'
print(query.split('.', 1)[1].split(' ', 1)[0])
# TABLE_ABC
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.