[英]How can I count and efficiently replace inner double-quotes in a string?
我有一個大約有260萬行數據的原始數據文件,並且在每行中都有一個表示URL的字符串。 不幸的是,其中一些URL中帶有流氓引號:
“ www.stackoverflow.com/quest"ions/ask”
到目前為止,我的方法是計算一行中的引號數量,如果該數量大於兩個,則只需使用該行中的第一個引號和最后一個引號來確定字符串應在何處開始和結束。
有沒有更有效的方法來解決這個問題?
編輯:
指定URL的字符串不是整行,只是整行的一部分。 整個數據行如下,並用空格分隔:
asc755.usask.ca--[13 / Jul / 1995:17:27:51 -0600]“ GET stackoverflow.com/pos"ts/41656163 HTTP / 1.0” 200 2273
因此,我無法實際編輯預期報價中的任何內容,因為預期報價是任意的。
我認為這取決於有多少個URL被破壞。 但是您可以跳過計數並替換所有雙引號。 然后將它們添加回字符串。
s = '"www.stackoverflow.com/quest"ions/ask"'
x = '"%s"' % s.replace('"', '')
您可能需要使用功能更強大的工具。 在沒有看到更多輸入示例的情況下,我想您可以使用一個簡單的正則表達式清除嵌入在字符串中的雙引號。 抓住字符串之間的所有內容。
^"(.+)"$
然后用空字符串替換"
。如果要處理的數據比這更復雜,請共享有關該數據的更多信息。
這是工作捕獲的鏈接。 鏈接
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.