我有以下字符串:
INSERT INTO testtable ('Reference', 'Date', 'Address', 'Amount', 'ChequeNo') VALUES
我如何仅返回引号'
我基本上需要对INSERT INTO中的所有引号进行替换,直到VALUES为无效的SQL。
答案 0 :(得分: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 :(得分:1)
注意:假设存在NSRegularExpression
标记,我假设您使用的是Objective-C。
按行分割,并在每行上执行以下操作:
[yoursqlstring stringByReplacingOccurrencesOfString:@"'"
withString:@""
options:NULL
range:NSMakeRange(0, [[yoursqlstring rangeOfString:@"VALUES"] location])]
正则表达式不是为了做你想要的。
答案 2 :(得分:0)
如果您需要删除所有单引号,请执行以下操作:
NSString *newString = [originalString stringByReplacingOccurrencesOfString:@"'" withString:@""];