Заменить разрывы строк в строке C #

Оказывается, поиск регулярных выражений выполняется несколько иначе в pymongo, но так же просто.

Regex выполняется следующим образом:

db.collectionname.find({'files':{'$regex':'^File'}})

Это будет соответствовать всем документам, у которых есть свойство файлов, в котором есть элемент внутри, который начинается с файла

468
задан YonahW 26 October 2008 в 13:20
поделиться

7 ответов

Используйте замену Environment.NewLine

myString = myString.Replace(System.Environment.NewLine, "replacement text")

, Как упомянуто в других сообщениях, если бы строка прибывает из другой среды (ОС) тогда, необходимо было бы заменить ту конкретную реализацию сред управляющие символы новой строки .

671
ответ дан Nahum 26 October 2008 в 13:20
поделиться

Используйте.Replace () метод

Line.Replace("\n", "whatever you want to replace with");
2
ответ дан The.Anti.9 26 October 2008 в 13:20
поделиться

Не забывайте, что замена не делает замены в строке, но возвращает новую строку с замененными символами. Следующее удалит разрывы строки (не, заменяют их). Я использовал бы @Brian R. Метод Bondy при замене их чем-то еще, возможно, обернутым как дополнительный метод. Не забудьте проверять на нулевые значения сначала перед тем, чтобы называть Замену или дополнительные предоставленные методы.

string line = ...

line = line.Replace( "\r", "").Replace( "\n", "" );

Как дополнительные методы:

public static class StringExtensions
{
   public static string RemoveLineBreaks( this string lines )
   {
      return lines.Replace( "\r", "").Replace( "\n", "" );
   }

   public static string ReplaceLineBreaks( this string lines, string replacement )
   {
      return lines.Replace( "\r\n", replacement )
                  .Replace( "\r", replacement )
                  .Replace( "\n", replacement );
   }
}
14
ответ дан tvanfosson 26 October 2008 в 13:20
поделиться

Я использовал бы Среду. Новая строка, когда я хотел вставить новую строку для строки, но не удалить все новые строки из строки.

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

string ReplaceNewlines(string blockOfText, string replaceWith)
{
    return blockOfText.Replace("\r\n", replaceWith).Replace("\n", replaceWith).Replace("\r", replaceWith);
}
35
ответ дан 7 revs 26 October 2008 в 13:20
поделиться

Если бы Ваш код, как предполагается, работает в различных средах, я рассмотрел бы использование Environment.NewLine постоянный, так как это конкретно эти newline используется в определенной среде.

line = line.Replace(Environment.NewLine, "newLineReplacement");

Однако, если Вы получаете текст из файла, происходящего в другой системе, это не могло бы быть корректным ответом, и необходимо заменить любой постоянной новой строкой, используется в другой системе. Это обычно будет \n или \r\n.

18
ответ дан Sumner Evans 26 October 2008 в 13:20
поделиться

Расширяться. Ответ Anyi.9, необходимо также знать различные типы разрыва строки во всеобщем употреблении . Зависящий от того, где Ваш файл произошел, можно хотеть посмотреть на проверку, что Вы ловите все альтернативы...

string replaceWith = "";
string removedBreaks = Line.Replace("\r\n", replaceWith).Replace("\n", replaceWith).Replace("\r", replaceWith);

должен получить Вас движение...

169
ответ дан ZombieSheep 26 October 2008 в 13:20
поделиться
string s = Regex.Replace(source_string, "\n", "\r\n");

или

string s = Regex.Replace(source_string, "\r\n", "\n");

в зависимости от того, каким путем вы хотите идти.

Надеюсь, это поможет.

0
ответ дан 22 November 2019 в 22:45
поделиться
Другие вопросы по тегам:

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