簡體   English   中英

在句點之后和下一個空格之前切片字符串

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

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