簡體   English   中英

在特定字符之后將字符添加到字符串中

[英]Adding a character into a string after a specific character

為了能夠讀取asp.net中的文件,必須以以下方式編寫文件路徑:1。

C:\\yung\\Desktop

但是返回,fileUpload get返回的字符串是2。

C:\yung\Desktop

閱讀評論后,我有此代碼:

        string FilePath = FileUploadPublicInfo.PostedFile.FileName;
        System.IO.StreamReader file = new System.IO.StreamReader(FilePath);
        string line = File.ReadLines(FilePath.ToString()).Skip(4).ToString();

        TextBox1.Text = line.ToString();

但是現在它給出了這個錯誤:

System.Linq.Enumerable+<SkipIterator>d__30`1[System.String]

如何解決這個問題呢?

謝謝。

我不確定我是否理解這個問題,但是我認為您正在尋找string.Replace

string DoubleSlash(string singleSlash)
{
    return singleSlash.Replace(@"\", @"\\");
}

反斜杠消失的原因是C#編譯器將字符串文字中的斜杠視為特殊的“轉義”字符。 由於這種處理,反斜杠需要在常規字符串文字中編碼為兩個斜杠。

C#提供了兩種以所需方式插入反斜杠的方式:

  • 使用逐字文字 -在其前面加上“ at”符號,即@"C:\\\\yung\\\\Desktop" ,或者
  • 將每個斜杠加倍 -在結果中為每個斜杠放置兩個斜杠: C:\\\\\\\\yung\\\\\\\\Desktop

好的,我已經設法解決了這個問題,原來它什么也沒讀。

這是我最終得到的代碼:

這是檢索文件的路徑,使用它,將使文件路徑將雙斜杠,因此不需要Replace(@“ \\”,@“ \\”)

string FilePath = FileUploadPublicInfo.PostedFile.FileName;

然后讀取指定的文件

System.IO.StreamReader file = new System.IO.StreamReader(FilePath);

如果知道您特別想要的那一行,它將檢索第5行

string line = File.ReadLines(FilePath.ToString()).Skip(4).First().ToString();

非常感謝你的幫助...

暫無
暫無

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

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