çift tırnak bazı moda çıkışı yapılmaz, o zaman aşağıdaki başka bir olasılıktır. Muhtemelen bazı yöntemler kadar etkili değil (ve kesinlikle Tim'in regex kadar serin değil), ama bir sonraki adam kodu göründüğünde makul anlaşılır olabilir. Dizeyi çift tırnak üzerine böler ve ardından değerler arasında dolaşır. Tek girişler tırnakların dışındaki kısımlardır, hatta girişler tırnak içine girer. Ayrıca tırnak işaretlerini kaldırmak ve arama dizesinin başına ve sonuna bir %
eklemek istediğiniz gibi
string value = "\"first\" some text \"other in quotes\" out of them \"in them\"";
string[] sets = value.Split('\"');
StringBuilder newvalue = new StringBuilder("%");
for (int i = 0; i < sets.Length; i++) {
if (i % 2 == 0)
// even ones are outside quotes
newvalue.Append(sets[i].Replace(' ', '%'));
else
// and the odd ones are in quotes
newvalue.Append("\"" + sets[i] + "\"");
}
// final %
newvalue.Append("%");
@Andreas: İyi seçim. @ Oded'in cevabını kabul etmelisiniz, sonra (yanındaki onay işaretini tıklayın). –