Commit\r\n\r
(.et string "Commit\\r\\n\\r"
) gibi bir metni alabilen bir WPF denetiminde bir TextBox'a ihtiyacım var ve bir .net dize olarak "Commit\r\n\r"
'a dönüştürebilirsiniz. Bir string.Unescape() ve string.Escape() yöntem çifti umuyordum, ancak görünmüyor. Kendi yazmam gerekecek mi? veya bunu yapmanın daha basit bir yolu var mı?Net olmayan ve dizeleri Net olarak nasıl temizlerim?
cevap
Hans'un kodu, geliştirilmiş sürümü.
- bu StringBuilder kullanımı yapılmış - gerçek performans yükseltici yapılmış uzun dizeleri
ile bu yöntem aşağıdakı
public static class StringUnescape { public static string Unescape(this string txt) { if (string.IsNullOrEmpty(txt)) { return txt; } StringBuilder retval = new StringBuilder(txt.Length); for (int ix = 0; ix < txt.Length;) { int jx = txt.IndexOf('\\', ix); if (jx < 0 || jx == txt.Length - 1) jx = txt.Length; retval.Append(txt, ix, jx - ix); if (jx >= txt.Length) break; switch (txt[jx + 1]) { case 'n': retval.Append('\n'); break; // Line feed case 'r': retval.Append('\r'); break; // Carriage return case 't': retval.Append('\t'); break; // Tab case '\\': retval.Append('\\'); break; // Don't escape default: // Unrecognized, copy as-is retval.Append('\\').Append(txt[jx + 1]); break; } ix = jx + 2; } return retval.ToString(); } }
FYI'yi hak ediyor, listelenen fonksiyonun yanlış adı var - bu/unscaping/string, ama EscapeStringChars() olarak adlandırılıyor. – redcalx
System.Text.RegularExpressions.Regex.Unescape(@"\r\n\t\t\t\t\t\t\t\t\tHello world!")
System.Text.RegularExpressions.Regex.Unescape() – Dragouf
Bunun 'Regex'e özgü olduğunu ve ayrıca' @ '\ ["' in '@" ["' gibi dizelerden kaçtığını ve yalnızca normal ifade değil normal ifade. – Silvermind
aynıdır bir uzatma yöntemi javascript kaçış/unescape fonksiyonları:
Microsoft.JScript.GlobalObject.unescape();
Microsoft.JScript.GlobalObject.escape();
- 1. .NET
- 2. NET
- 3. .NET
- 4. .NET
- 5. .NET 4.0
- 6. Tek bir uygulamada .NET 2.0 ve .NET 4.0 nasıl desteklenir?
- 7. .Net
- 8. .NET
- 9. .NET
- 10. .NET
- 11. .Net
- 12. .NET
- 13. .NET
- 14. . Net
- 15. .NET
- 16. Dize Karşılaştırması, .NET ve bozulmasız alan
- 17. .net
- 18. .Net
- 19. C# olmayan bir .NET DLL sürümü okuyun?
- 20. RightFax ve .NET?
- 21. Çoklu ve .NET kapanışları
- 22. .net
- 23. .NET Küreselleşme ve Uydu DLL'sinin
- 24. .NET
- 25. .NET/Jenkins ile dağıtımı .NET
- 26. .NET
- 27. .NET
- 28. .Net
- 29. .NET
- 30. .NET
Metin kutusuna yazmayın, sadece Enter tuşuna basın. –
ve eğer \ r \ n \ r \ r demek istiyorlarsa? (evet, bu bu modelde uygulanabilir bir durumdur) – Firoso
Şuna bakın: http://social.msdn.microsoft.com/forums/en-US/netfxbcl/thread/08bb20a2-82b9-4f2f-9f1a-994961fbecc3/ –