簡體   English   中英

C#Regex.Split強制結果無法轉義字符

[英]C# Regex.Split force result to not escape characters

我正在嘗試進行一些字符串操作,並且需要采用多行字符串並通過在\\r\\n上分割來創建List<String> ,以便最終獲得在字符串中找到的行的列表。

但是,在完成Regex.Split之后,我最后得到的是每行
"逃脫了\\

例如,輸入字符串的片段為:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<g2s:g2sMessage xmlns:g2s="http://www.gamingstandards.com/g2s/schemas/v1.0.3">
   <g2s:g2sBody g2s:dateTimeSent="2012-11-06T09:12:38.006-08:00" g2s:egmId="RBG_1234"
                g2s:hostId="1">
      <g2s:communications g2s:commandId="37102" g2s:dateTime="2012-11-06T09:12:38.004-08:00"
                          g2s:deviceId="1"
                          g2s:errorCode="G2S_none"

當我執行以下操作以使用以下命令將此字符串拆分為List<String>

List<string> lines = new List<string>(Regex.Split(message, "\r\n"));

結果是:

<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>
<g2s:g2sMessage xmlns:g2s=\"http://www.gamingstandards.com/g2s/schemas/v1.0.3\">
   <g2s:g2sBody g2s:dateTimeSent=\"2012-11-06T09:12:38.006-08:00\" g2s:egmId=\"RBG_1234\"
            g2s:hostId=\"1\">
      <g2s:communications g2s:commandId=\"37102\" g2s:dateTime=\"2012-11-06T09:12:38.004-08:00\"
            g2s:deviceId=\"1\"
            g2s:errorCode=\"G2S_none\"

我如何才能做到這一點而又不會以"轉義的字符串結尾呢?
C#是否真的在轉義字符,還是只是調試器顯示字符串的方式?

這只是在調試器中顯示字符串的方式(我想是Visual Studio嗎?)。 這些反斜杠實際上不在您的字符串中。 您可以通過將字符串輸出到控制台或文件,並注意不出現反斜杠來證明這一點。

視覺工作室

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM