Строка. Замена (символ, символ) метод в C#

Я понял это, я помню, как в прошлом пытался это сделать, jQuery не любит FormData с использованием метода $ .post (), вместо этого нужно использовать $ .ajax ()!

71
задан Peter Mortensen 25 November 2015 в 15:34
поделиться

8 ответов

String.Replace('\n', '') не работает, потому что '' не литерал допустимого символа.

, Если Вы используете Строку. Замена (строка, строка) переопределение, это должно работать.

string temp = mystring.Replace("\n", "");
122
ответ дан Samuel 24 November 2019 в 12:58
поделиться

Как заменяющий "\n" с "" не дает Вам результат, который Вы хотите, который означает, что то, что необходимо заменить, на самом деле не "\n", но некоторая другая символьная комбинация.

Одна возможность состоит в том, что то, что необходимо заменить, является "\r\n" символьной комбинацией, которая является кодом новой строки в системе Windows. При замене только "\n" (перевод строки) символ, он оставит "\r" (возврат каретки) символ, который все еще может быть интерпретирован как разрыв строки, в зависимости от того, как Вы отображаете строку.

, Если источник строки является системой, конкретной, необходимо использовать ту определенную строку, иначе Вы должны условия применения. NewLine для получения комбинации символа новой строки для существующей системы.

string temp = mystring.Replace("\r\n", string.Empty);

или:

string temp = mystring.Replace(Environment.NewLine, string.Empty);
16
ответ дан Guffa 24 November 2019 в 12:58
поделиться

Это должно работать.

string temp = mystring.Replace("\n", "");

Вы уверенный, что в Вашей исходной строке существуют фактические \n новые строки?

4
ответ дан Robin Day 24 November 2019 в 12:58
поделиться

Если Вы используете

string temp = mystring.Replace("\r\n", "").Replace("\n", "");

тогда, Вы не должны будете волноваться о том, куда Ваша строка прибывает из.

2
ответ дан Patrick McDonald 24 November 2019 в 12:58
поделиться

Один протест: в.NET перевод строки является "\r\n". Таким образом, при загрузке текста из файла Вам, возможно, придется использовать это вместо просто редактирования "\n"

>, поскольку samuel указанный в комментариях, "\r\n" не является конкретной.NET, но является конкретными окнами.

1
ответ дан Steven Evers 24 November 2019 в 12:58
поделиться

Что относительно того, чтобы создать Дополнительный Метод как это....

 public static string ReplaceTHAT(this string s)
 {
    return s.Replace("\n\r", "");
 }

И затем то, когда Вы хотите заменить это везде, где Вы хотите Вас, может сделать это.

s.ReplaceTHAT();

С наилучшими пожеланиями!

1
ответ дан MRFerocius 24 November 2019 в 12:58
поделиться
string temp = mystring.Replace("\n", " ");
0
ответ дан BFree 24 November 2019 в 12:58
поделиться

@gnomixa - Что Вы имеете в виду в своем комментарии о не достижении чего-нибудь? Следующие работы для меня в VS2005.

, Если Ваша цель состоит в том, чтобы удалить символы новой строки, таким образом, укоротив строку, посмотрите на это:

        string originalStringWithNewline = "12\n345"; // length is 6
        System.Diagnostics.Debug.Assert(originalStringWithNewline.Length == 6);
        string newStringWithoutNewline = originalStringWithNewline.Replace("\n", ""); // new length is 5
        System.Diagnostics.Debug.Assert(newStringWithoutNewline.Length == 5);

, Если Ваша цель состоит в том, чтобы заменить символы новой строки пробелом, оставив длину строки тем же, смотрят на этот пример:

        string originalStringWithNewline = "12\n345"; // length is 6
        System.Diagnostics.Debug.Assert(originalStringWithNewline.Length == 6);
        string newStringWithoutNewline = originalStringWithNewline.Replace("\n", " "); // new length is still 6
        System.Diagnostics.Debug.Assert(newStringWithoutNewline.Length == 6);

И необходимо заменить односимвольные строки вместо символов, потому что '' не допустимый символ, который будет передан Замене (строка, символ)

0
ответ дан JeffH 24 November 2019 в 12:58
поделиться
Другие вопросы по тегам:

Похожие вопросы: