string text = "fkdfdsfdflkdkfk@dfsdfjk72388389@kdkfkdfkkl@jkdjkfjd@jjjk@";
text = text.Replace("@", "@" + System.Environment.NewLine);
Можно добавить символ новой строки после символ как так:
string newString = oldString.Replace("@", "@\n");
можно также использовать NewLine
свойство в Environment
Класс (я думаю, что это - Среда).
Предыдущие ответы приближаются, но отвечать фактическому требованию, что @
символ остаются близкими, Вы хотели бы, чтобы это было str.Replace("@", "@" + System.Environment.NewLine)
. Это сохранит @
символ и добавит соответствующий символ (символы) новой строки для текущей платформы.
Тогда просто измените предыдущие ответы на:
Console.Write(strToProcess.Replace("@", "@" + Environment.NewLine));
, Если Вы не хотите новых строк в текстовом файле, затем не сохраняйте его.
Замена простой строки сделает задание. Смотрите на пример программы ниже:
using System;
namespace NewLineThingy
{
class Program
{
static void Main(string[] args)
{
string str = "fkdfdsfdflkdkfk@dfsdfjk72388389@kdkfkdfkkl@jkdjkfjd@jjjk@";
str = str.Replace("@", "@" + Environment.NewLine);
Console.WriteLine(str);
Console.ReadKey();
}
}
}
поскольку другие сказали, что символ новой строки даст Вам новую строку в текстовом файле в окнах. попробуйте следующее:
using System;
using System.IO;
static class Program
{
static void Main()
{
WriteToFile
(
@"C:\test.txt",
"fkdfdsfdflkdkfk@dfsdfjk72388389@kdkfkdfkkl@jkdjkfjd@jjjk@",
"@"
);
/*
output in test.txt in windows =
fkdfdsfdflkdkfk@
dfsdfjk72388389@
kdkfkdfkkl@
jkdjkfjd@
jjjk@
*/
}
public static void WriteToFile(string filename, string text, string newLineDelim)
{
bool equal = Environment.NewLine == "\r\n";
//Environment.NewLine == \r\n = True
Console.WriteLine("Environment.NewLine == \\r\\n = {0}", equal);
//replace newLineDelim with newLineDelim + a new line
//trim to get rid of any new lines chars at the end of the file
string filetext = text.Replace(newLineDelim, newLineDelim + Environment.NewLine).Trim();
using (StreamWriter sw = new StreamWriter(File.OpenWrite(filename)))
{
sw.Write(filetext);
}
}
}
На основе Ваших ответов всем остальным что-то вроде этого - то, что Вы ищете.
string file = @"C:\file.txt";
string strToProcess = "fkdfdsfdflkdkfk@dfsdfjk72388389@kdkfkdfkkl@jkdjkfjd@jjjk@";
string[] lines = strToProcess.Split(new char[] { '@' }, StringSplitOptions.RemoveEmptyEntries);
using (StreamWriter writer = new StreamWriter(file))
{
foreach (string line in lines)
{
writer.WriteLine(line + "@");
}
}