2016-10-28 135 views
1

我是一個正則表達式的總noob。我想要做的就是從BigQuery中的字符串中刪除單引號和雙引號。我可以在字符串的開頭刪除單引號和雙引號,但不是終點:使用regexp_extract從BigQuery中刪除單引號和雙引號

SELECT regexp_extract(foo, r'\"new_foo\":\"(.*?)\"') AS new_foo FROM [mybq:Schema.table]

我得到的是空,但沒有regexp_extract我期望的結果。幫助表示讚賞。

+0

那麼,問題是,我有一個單一的或前有時一個雙引號,有時在前面,有時在兩端,有時兩者都不是。這裏有一個例子: 「原子」 炸彈 瘋狂」 「鴨' ‘大象 狐狸’ ‘長頸鹿’ '河馬' '冰屋 –

+0

重要的SO - 你可以'標記接受通過使用投票答案左邊的勾號來回答。看到http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work#5235爲什麼它很重要!對答案投票也很重要。表決有用的答案。還有更多......當某人回答你的問題時,你可以查看該怎麼做 - http://stackoverflow.com/help/someone-answers。 –

回答

2

嘗試類似下面

SELECT REGEXP_REPLACE(foo, r'([\'\"])', '') AS new_foo 
FROM [mybq:Schema.table] 
+0

這工作完美! –

0

你的正則表達式的表述應該是像/["']/g

而且你正在使用不同的方法來獲得預期的結果。嘗試REGEXP_REPLACE('orig_str', 'reg_exp', 'replace_str')

事情是這樣的:

SELECT REGEXP_REPLACE(word, /["']/g, '')AS new_foo 
FROM [mybq:Schema.table]