有沒有辦法在像這樣的字符串中進行替換? (這是簡化的例子)僅在外部字符串中替換C#字符串
string input = "INSERT INTO blah VALUES \" blah blah \r\n \" \r\n (here can be anything like several new lines and \t tabs) INSERT INTO blah VALUES \" blah blah \r\n \" \r\n";
input.Replace("\r\n", "\n"); // this is just example, it doesn't work the way I need it
// and the output would look like this:
string output= "INSERT INTO blah VALUES \" blah blah \r\n \" \n INSERT INTO blah VALUES \" blah blah \r\n \" \n";
那麼它只會替換SQL命令之外的新行?這可以使用正則表達式安全地實現嗎?
編輯:替換必須可能用\ r \ n來實現\ n可能有更多的SQL命令之間。這些命令沒有精確分開。
編輯:所以基本的問題是 - 我如何只在外部字符串取代?
string = "outer string \"inner string\" outer string \"inner string\" outer string"
如果您使用SQL語句,我強烈建議使用SqlParameters:http://www.dotnetperls.com/sqlparameter – RvdK
Replace會返回新的字符串,所以代碼應該看起來像'input = input.Replace(「\ r \ n」 ,「\ n」);' – Reniuz