[英]How to split of string and for each determined character found add a new line
[英]Add a character on each line of a string
我制作了一個CSV轉換器,為此,我需要將所有空格替換為“;”。 我已經做了這一步。 問題是我有一個帶多行mod的texbox。 這是我的實際代碼:
string[] Espace1 = new string[] { " " };
foreach (string contenu in content1.Split(Espace1, StringSplitOptions.RemoveEmptyEntries))
{
content1 = content1.Replace(" ", ";");
File.WriteAllText(path1, content1);
}
這是輸出:(示例)
15;16;13;21
15;49;47
46;78;15
為了使文件能像csv一樣很好地解釋,我需要添加一個“;” 在每一行的末尾。 喜歡 :
15;16;13;21;
15;49;47;
46;78;15;
有什么幫助嗎? :)
編輯
這是我完整的代碼:
string nom = tbxNom.Text;
#region Normal
try
{
string content1 = tbxArret.Text;
string path1 = @"C:\Users\DanyWin\Desktop\CsvOutput\" + nom + ".csv";
string[] Espace1 = new string[] { " " };
foreach (string contenu in content1.Split(Espace1, StringSplitOptions.RemoveEmptyEntries))
{
content1 = content1.Replace(" ", ";");
File.WriteAllText(path1, content1);
}
}
catch
{
lblInfo.Text = "Erreur";
}
content1
似乎包含整個文件。
因此,如果要向每行添加分號,則可以用分號和換行符代替換行符。
content1 = content1.Replace("\n", ";\n");
您可以使代碼更容易一些:
string nom = tbxNom.Text;
#region Normal
try
{
string content1 = tbxArret.Text;
string path1 = @"C:\Users\DanyWin\Desktop\CsvOutput\" + nom + ".csv";
var lines = content1.Split(new[] { Environment.NewLine }, StringSplitOptions.RemoveEmptyEntries)
.Select(line => Regex.Replace(line, @"\s+", ";") + ";");
content1 = String.Join("\n", lines);
File.WriteAllText(path1, content1);
}
catch
{
lblInfo.Text = "Erreur";
}
content1 = string.Concat( content1.Replace(" ", ";"), ";");
刪除所有空格,然后連接“;” 最后
char []split = new char[]{' '};
//replaces all " " with ";", contiguous " " will be replaced with a single ";"
var c2 = String.Join(";", content1.Split(split, StringSplitOptions.RemoveEmptyEntries));
//replaces all newlines with a semicolon followed by a newline, thus appends a semicolon to the end of line.
var c3 = c2.Replace(System.Environment.NewLine, ";"+System.Environment.NewLine);
//If the file did not end with an NewLine, append a semicolon to the last line
if (!c3.EndsWith(System.Environment.NewLine)) c3+=";";
File.WriteAllText(path, c3);
它不是最快的解決方案,但可以。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.