Я понял это, я помню, как в прошлом пытался это сделать, jQuery не любит FormData с использованием метода $ .post (), вместо этого нужно использовать $ .ajax ()!
String.Replace('\n', '')
не работает, потому что ''
не литерал допустимого символа.
, Если Вы используете Строку. Замена (строка, строка) переопределение, это должно работать.
string temp = mystring.Replace("\n", "");
Как заменяющий "\n" с "" не дает Вам результат, который Вы хотите, который означает, что то, что необходимо заменить, на самом деле не "\n", но некоторая другая символьная комбинация.
Одна возможность состоит в том, что то, что необходимо заменить, является "\r\n" символьной комбинацией, которая является кодом новой строки в системе Windows. При замене только "\n" (перевод строки) символ, он оставит "\r" (возврат каретки) символ, который все еще может быть интерпретирован как разрыв строки, в зависимости от того, как Вы отображаете строку.
, Если источник строки является системой, конкретной, необходимо использовать ту определенную строку, иначе Вы должны условия применения. NewLine для получения комбинации символа новой строки для существующей системы.
string temp = mystring.Replace("\r\n", string.Empty);
или:
string temp = mystring.Replace(Environment.NewLine, string.Empty);
Это должно работать.
string temp = mystring.Replace("\n", "");
Вы уверенный, что в Вашей исходной строке существуют фактические \n новые строки?
Если Вы используете
string temp = mystring.Replace("\r\n", "").Replace("\n", "");
тогда, Вы не должны будете волноваться о том, куда Ваша строка прибывает из.
Один протест: в.NET перевод строки является "\r\n". Таким образом, при загрузке текста из файла Вам, возможно, придется использовать это вместо просто редактирования "\n"
>, поскольку samuel указанный в комментариях, "\r\n" не является конкретной.NET, но является конкретными окнами.
Что относительно того, чтобы создать Дополнительный Метод как это....
public static string ReplaceTHAT(this string s)
{
return s.Replace("\n\r", "");
}
И затем то, когда Вы хотите заменить это везде, где Вы хотите Вас, может сделать это.
s.ReplaceTHAT();
С наилучшими пожеланиями!
@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);
И необходимо заменить односимвольные строки вместо символов, потому что '' не допустимый символ, который будет передан Замене (строка, символ)