У меня есть струна.
string strToProcess = "fkdfdsfdflkdkfk@dfsdfjk72388389@kdkfkdfkkl@jkdjkfjd@jjjk@";
Мне нужно добавить новую строку после каждого появления символа "@" в строке.
Мой вывод должен выглядеть следующим образом
fkdfdsfdflkdkfk@
dfsdfjk72388389@
kdkfkdfkkl@
jkdjkfjd@
jjjk@
Вы можете добавить символ новой строки после символа @ следующим образом:
string newString = oldString.Replace("@", "@\n");
Вы также можете использовать свойство NewLine
в классе Environment
(я думаю, что это Environment).
Предыдущие ответы приблизиться, но для того чтобы отвечать фактические требования, что символ " @ " находиться рядом, вы'd не хочу быть ул. Заменить (на"@" В, С "@" в + системе.Среды.Перевод строки)
. Что будет держать символ " @ " и добавить соответствующий символ(ы) для текущей платформы.
Затем просто изменить предыдущие ответы:
Console.Write(strToProcess.Replace("@", "@" + Environment.NewLine));
Если вы Don'т хотим, чтобы переводы строк в текстовом файле, затем Дон'т сохранить его.
как уже сказали новая Чаре строке новую строку в текстовый файл в Windows. попробуйте следующее:
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);
}
}
}
Простая замена строки выполнит эту работу. Взгляните на пример программы ниже:
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();
}
}
}
На основе ваших ответов на все остальные, что-то вроде этого является то, что вы'вновь ищу.
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 + "@");
}
}
string strToProcess = "fkdfdsfdflkdkfk@dfsdfjk72388389@kdkfkdfkkl@jkdjkfjd@jjjk@";
var result = strToProcess.Replace("@", "@ \r\n");
Console.WriteLine(result);
Вы также можете использовать строка[] что-то = текст.Сплит('@')
. Убедитесь, что вы используете одинарные кавычки, чтобы окружить и"@", чтобы сохранить его как тип char
.
Это будет хранить символы вплоть до каждого-ТО "@" в качестве отдельных слов в массиве. Затем вы можете выводить каждый (элемент системы+.Среды.Перевод строки) с помощью цикла for или записать его в текстовый файл, используя
систему.ИО.Файл.WriteAllLines([путь к файлу + имя и расширение], [имя массива])`. Если указанный файл не'т существуют в этом месте, он будет автоматически создан.
protected void Button1_Click(object sender, EventArgs e)
{
string str = "fkdfdsfdflkdkfk@dfsdfjk72388389@kdkfkdfkkl@jkdjkfjd@jjjk@";
str = str.Replace("@", "@" + "<br/>");
Response.Write(str);
}
using System;
using System.IO;
using System.Text;
class Test
{
public static void Main()
{
string strToProcess = "fkdfdsfdflkdkfk@dfsdfjk72388389@kdkfkdfkkl@jkdjkfjd@jjjk@";
strToProcess.Replace("@", Environment.NewLine);
Console.WriteLine(strToProcess);
}
}