ฉันมีสาย
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
) เป็นวัตถุที่ไม่เปลี่ยนรูปซึ่งหมายความว่าสตริงทั้งหมดจะถูกคัดลอกไป ดีกว่าที่จะใช้วัตถุ System.Text.StringBuilder สำหรับการดำเนินการเช่น String.Replace
คุณสามารถเพิ่มอักขระบรรทัดใหม่หลังสัญลักษณ์ @ ดังนี้:
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();
}
}
}
ดังที่คนอื่น ๆ ได้กล่าวไว้บรรทัดใหม่จะให้บรรทัดใหม่ในไฟล์ข้อความใน 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 str = "fkdfdsfdflkdkfk@dfsdfjk72388389@kdkfkdfkkl@jkdjkfjd@jjjk@";
str = str.Replace("@", Environment.NewLine);
richTextBox1.Text = str;
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
) System.IO.File.WriteAllLines([file path + name and extension], [array name])
โดยใช้ห่วงหรือเขียนไปยังแฟ้มข้อความโดยใช้ หากไฟล์ที่ระบุไม่มีอยู่ในตำแหน่งนั้นไฟล์นั้นจะถูกสร้างขึ้นโดยอัตโนมัติ
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);
}
}