Bu muhtemelen aptalca bir sorudur, ancak bazı lanetli aramalar bana yanıt vermemiştir. Bir dizede geçersiz karakterler aradığım bir sorunum var; aralarında yeni satır karakterleri, sekme karakterleri ve benzerleri bulunur. Ancak, biri bulunduğunda, bir konsola yazdırır; Tahmin edebileceğiniz gibi, bir bakışta ekibi karıştırabilir. Bu yüzden, C# satırında yeni satır karakterini "\n"
dizgisine dönüştürmek için hızlı ve kolay bir yol var, ancak 'özel' olmayan geçersiz karakterleri dönüştürecek mi? İşte Yeni satır karakterini " n" dizesine dönüştürme
using System.Text.RegularExpressions
class Foo {
Regex invalidCheck = @"[^\w_ ]";
public void ParseString(string command) {
var invalid = invalidCheck.Match(command)
if (invalid.Success)
Console.WriteLine("Invalid character " + invalid.Value)
else {
// Do things with the string...
}
}
}
, ben invalid.Value
aslında olduğunu bilmiyorum, ama ben içine boşluk karakterlerini dönüştürmek için bunu elde etmek gerek biliyorum okunabilir bir şey.
See: sadece
escp
fonksiyonu ileinvalid.Value
çevreleyen,Ve dava için:
Böyle kullanabiliriz: Burada
bir örnektir string.Replace veya Regex.Referans edebilecek çok (normal veya düzenli ifade) tek bir \ n -> "\ n" için eğik çizgi (eğik çizgiyi kesmeyi veya bir harf yazmayı kullanın), ancak daha ilginç olan yazdırılamaz/boşluklu -> kaçtı. – user2864740Kodunuz neye benziyor? –
s = s.Replace ("\ r", "\" \\ r \ "") Değiştir ("\ n", "\" \\ n \ ""); – rashfmnb