\ n ya \ r veya değiştirme için en iyi yolu nedir bazı karakterleri değiştirmek için \ r \ n onlar C# kullanarak boş bir dizenasıl bir dize
ile, çift tırnak arasında olduğunda? Örnek
: "abc \ ndef"
\ n ya \ r veya değiştirme için en iyi yolu nedir bazı karakterleri değiştirmek için \ r \ n onlar C# kullanarak boş bir dizenasıl bir dize
ile, çift tırnak arasında olduğunda? Örnek
: "abc \ ndef"
şey:
public static String RemoveQuots(String source) {
if (String.IsNullOrEmpty(source))
return source;
StringBuilder sb = new StringBuilder(source.Length);
Boolean inQuot = false;
foreach (var ch in source) {
if (ch == '"')
inQuot = !inQuot;
if (!inQuot || ((ch != '\n') && (ch != '\r')))
sb.Append(ch);
}
return sb.ToString();
}
...
String source = "\"abc\ndef\"";
String result = RemoveQuots(source);
Açıklanmıştır testi
String source = "preserved: \n \"deleted: \n\" \"\" preserved: \n tail";
// preserved:
// "deleted: " "" preserved:
// tail
String result = RemoveQuots(source);
Açıklama:
1st \n is out double quots
2nd \n is within double quotes: \"deleted: \n\" (note \")
3d \"\" is just empty "" *string* so \n is once again doomed to be deleted
Dizgiden tüm \ n yerine geçer. Çok teşekkür ederim, aradığım cevap bu! – nice
emin değil "abcdef" olmalıdır eğer onun "en iyi", ama bu çalışacaktır:
string a = "abc\nefg";
a = string.Concat(a.Split(new char[] { '\n', '\r' }));
Eğer Sitemiz en iyi ne anlama geldiğini tanımlar mısınız? En hızlı? Daha az kod? Okunabilir? Böyle
denediniz mi? String.Replace'ı denediniz mi? "En iyi" yi tanımla Çift tırnakların bir şeyle ne ilgisi var? Değiştirilmemesi gereken çift tırnak dışında yeni satırlar var mı? –
Evet, tırnak içinde yeni satırın değiştirilmesi gerekiyor ve çift tırnak işareti dışında tutulması gerekiyor, – nice
olduğu gibi, "abc \ ndef" varsa \ n "ghi \ n" "abcdef" almak istiyorum \ n " ghi " – nice