Ответ 2

Вы можете добавить новый символ строки после символа @следующим образом:

string newString = oldString.Replace("@", "@\n");  

Вы также можете использовать свойство NewLine в классе Environment (я думаю, что это среда).

Ответ 3

Предыдущие ответы приближаются, но для соответствия фактическому требованию, чтобы символ @ оставался закрытым, вы хотите, чтобы это было str.Replace("@", "@" + System.Environment.NewLine). Это сохранит символ @ и добавит соответствующие символы новой строки для текущей платформы.

Ответ 4

Затем просто измените предыдущие ответы на:

Console.Write(strToProcess.Replace("@", "@" + Environment.Newline));

Если вам не нужны новые строки в текстовом файле, не сохраняйте его.

Ответ 5

Простая замена строки выполнит задание. Посмотрите пример программы ниже:

using System;

namespace NewLineThingy
{
    class Program
    {
        static void Main(string[] args)
        {
            string str = "[email protected]@[email protected]@[email protected]";
            str = str.Replace("@", "@" + Environment.NewLine);
            Console.WriteLine(str);
            Console.ReadKey();
        }
    }
}

Ответ 6

поскольку другие сказали, что новая строка char предоставит вам новую строку в текстовом файле в окнах. попробуйте следующее:

using System;
using System.IO;

static class Program
{
    static void Main()
    {
        WriteToFile
        (
        @"C:\test.txt",
        "[email protected]@[email protected]@[email protected]",
        "@"
        );

        /*
        output in test.txt in windows =
        [email protected]
        [email protected]
        [email protected]
        [email protected]
        [email protected] 
        */
    }

    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);
        }
    }
}

Ответ 7

Основываясь на ваших ответах всем остальным, что-то вроде этого - то, что вы ищете.

string file = @"C:\file.txt";
string strToProcess = "[email protected]@[email protected]@[email protected]";
string[] lines = strToProcess.Split(new char[] { '@' }, StringSplitOptions.RemoveEmptyEntries);

using (StreamWriter writer = new StreamWriter(file))
{
    foreach (string line in lines)
    {
        writer.WriteLine(line + "@");
    }
}

Ответ 9

Вы также можете использовать string[] something = text.Split('@'). Убедитесь, что вы используете одиночные кавычки, чтобы окружить "@", чтобы сохранить его как тип char. Это сохранит символы до и включит каждый "@" в качестве отдельных слов в массиве. Затем вы можете вывести каждый (element + System.Environment.NewLine) с помощью цикла for или записать его в текстовый файл с помощью System.IO.File.WriteAllLines([file path + name and extension], [array name]). Если указанный файл не существует в этом месте, он будет автоматически создан.