2011-09-27 49 views
0

我有以下字符串:正則表達式替換單個字符多次

INSERT INTO testtable ('Reference', 'Date', 'Address', 'Amount', 'ChequeNo') VALUES 

我怎麼會只返回引號'

基本上,我需要做的所有引號替換INSERT INTO直到VALUES爲無效SQL。

+0

有字符串替換功能,這些功能用於替換字符知府。你爲什麼要使用正則表達式? – Tomalak

+0

我有這個在一個文本文件和思想正則表達式,有什麼功能? –

+2

不太確定你要做什麼...刪除引號?用其他東西替換它們? – glibdud

回答

2

,因爲你沒有提到你的開發環境,我以爲你只是想解決這個問題的SQL。

這AWK線可以修復你:

awk -F'VALUES' '{gsub(/\x027/,"",$1);print $1FS$2;}' yourFile 

測試

kent$ echo "NSERT INTO testtable ('Reference', 'Date', 'Address', 'Amount', 'ChequeNo') VALUES('a','b','c','d','e')"|awk -F'VALUES' '{gsub(/\x027/,"",$1);print $1FS$2;}' 

NSERT INTO testtable (Reference, Date, Address, Amount, ChequeNo) VALUES('a','b','c','d','e') 
1

注意:由於存在NSRegularExpression標記,因此我假定您使用Objective-C。

拆分它用線,每線,這樣做:

[yoursqlstring stringByReplacingOccurrencesOfString:@"'" 
             withString:@"" 
              options:NULL 
               range:NSMakeRange(0, [[yoursqlstring rangeOfString:@"VALUES"] location])] 

正則表達式是不是爲了做你想要什麼。

0

如果您需要刪除所有單引號,只是這樣做:

NSString *newString = [originalString stringByReplacingOccurrencesOfString:@"'" withString:@""];