문자열이 있습니다.
string strToProcess = "fkdfdsfdflkdkfk@dfsdfjk72388389@kdkfkdfkkl@jkdjkfjd@jjjk@";
문자열에 "@"기호가 나타날 때마다 줄 바꿈을 추가해야합니다.
내 결과는 다음과 같아야합니다
fkdfdsfdflkdkfk@
dfsdfjk72388389@
kdkfkdfkkl@
jkdjkfjd@
jjjk@
문자열이 있습니다.
string strToProcess = "fkdfdsfdflkdkfk@dfsdfjk72388389@kdkfkdfkkl@jkdjkfjd@jjjk@";
문자열에 "@"기호가 나타날 때마다 줄 바꿈을 추가해야합니다.
내 결과는 다음과 같아야합니다
fkdfdsfdflkdkfk@
dfsdfjk72388389@
kdkfkdfkkl@
jkdjkfjd@
jjjk@
답변:
Environment.NewLine
원하는 문자열을 사용할 때마다 사용하십시오 . 예를 들면 :
string text = "fkdfdsfdflkdkfk@dfsdfjk72388389@kdkfkdfkkl@jkdjkfjd@jjjk@";
text = text.Replace("@", "@" + System.Environment.NewLine);
string
)은 변경할 수없는 객체이므로 전체 문자열이 복사되고 있기 때문에 이것은 좋은 해결책이 아닙니다 . String.Replace와 같은 작업에 System.Text.StringBuilder 개체를 사용하는 것이 좋습니다.
다음과 같이 @ 기호 뒤에 줄 바꾸기 문자를 추가 할 수 있습니다.
string newString = oldString.Replace("@", "@\n");
클래스 에서 NewLine
속성을 사용할 수도 있습니다 Environment
(환경이라고 생각합니다).
간단한 문자열 바꾸기가 작업을 수행합니다. 아래 예제 프로그램을 살펴보십시오.
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();
}
}
}
다른 사람들이 말했듯이 개행 문자는 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);
}
}
}
다른 사람들의 답장을 바탕으로 이와 같은 것이 당신이 찾고있는 것입니다.
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);
당신은 또한 사용할 수 있습니다 string[] something = text.Split('@')
. 작은 따옴표를 사용하여 "@"을 묶어 char
유형 으로 저장하십시오 . 이렇게하면 각 "@"까지의 문자를 배열에 개별 단어로 저장합니다. 그런 다음 element + System.Environment.NewLine
for 루프를 사용하여 각 ( ) 을 출력하거나을 사용하여 텍스트 파일에 쓸 수 System.IO.File.WriteAllLines([file path + name and extension], [array name])
있습니다. 지정된 파일이 해당 위치에 없으면 자동으로 작성됩니다.