我想在包含兩者的JSON文件中將任何None
更改爲'None'
(注意單引號)。將子字符串替換爲'無'
type: None or
type: 'None'
我試過"s/[']?None[']?/'None'/g"
但它似乎沒有工作。只要它不直接後跟一個'
import re
test = "type: None or 'None'"
result = re.sub(r"None(?!')", r"'None'", test)
這將匹配None
:
我想在包含兩者的JSON文件中將任何None
更改爲'None'
(注意單引號)。將子字符串替換爲'無'
type: None or
type: 'None'
我試過"s/[']?None[']?/'None'/g"
但它似乎沒有工作。只要它不直接後跟一個'
import re
test = "type: None or 'None'"
result = re.sub(r"None(?!')", r"'None'", test)
這將匹配None
:
既然你正在改變所有None
到'None'
,那豈不是更容易,只需使用str.replace
與JSON字符串?我會在兩個步驟中運行它,首先將'None'
更改爲None
,然後將所有None
更改爲'None'
。
你可以使用一個負前向斷言(?!...)
。
你也在改''''''到'''''''''' – 2012-04-03 23:05:33
@何世明對不起,我已經更新了。 – 2012-04-03 23:11:38
你的第二個例子將None之前或之後的任何內容替換爲'characters'。像「(1,無,2)」會變成「(1'None'2)」。這可能不是原始JSON文件中的問題,因爲可能總是會出現無空格的情況,但我認爲這是值得一提的。 – 2012-04-04 00:01:47
s/([^'])?(None)([^'])?/$1'$2'$3/g
這就是我現在正在做的,但我相信正則表達式可以做到一切 – daydreamer 2012-04-03 23:08:03