[英]How to Append a new line in each element of a string array?
我正面臨字符串數組的問題。 請在這里幫助我。 我有一個像下面這樣的字符串:
string[] str1;
str1 = new string[5]{ “Element 1”, “Element 2”, “Element 3”, “Element 4”, “Element 5” };
在這里,我想檢查字符串數組中的每個元素是否有新行。 如果它沒有新行,請附加到它,我需要附加如下的新行字符:
str1 = new string[5]{ “Element 1\n”, “Element 2\n”, “Element 3\n”, “Element 4\n”, “Element 5\n” };
如何實現這一目標?
使用LINQ
str1 = str1.Select(e => e.EndsWith("\n") ? e : e + "\n")
.ToArray();
如果我理解這個問題
給定的
var str1 = new string[5] { "Element 1", "Element 2", "Element 3", "Element 4", "Element 5" };
它可以很簡單
str1 = str1.Select(x => x.TrimEnd("\n") + "\n").ToArray();
這確保每個元素都附加了一個“\\n”
或者
str1 = str1.Select(x => x.EndsWith("\n") ? x : x + "\n").ToArray();
或者
str1 = str1.Select(x => x.EndsWith(Environment.NewLine) ? x : x + Environment.NewLine).ToArray();
更獨立於平台
作為猜測,當您使用string.Join將其寫入文本框/文件/控制台時,您很可能只需要添加string.Join
,並且可以使您的數組保持清潔
Console.WriteLine(string.Join(Environment.NewLine, str));
使用for
循環,您可以執行以下操作:
for (int i = 0; i < str1.Length; i++)
{
if (!str1[i].EndsWith("\n"))
{
str1[i] += "\n";
}
}
話雖如此,您應該考慮更改變量的名稱。 str1
不是數組的好名字(甚至在大多數情況下對於字符串)。
string[] str1 = { "Element 1","Element 2", "Element 3", "Element 4", "Element 5" };
string[] newstr1;
var b="";
for(int i=0;i<str1.Length;i++)
{
var chck1 = str1[i];
if (!chck1.Contains("\n"))
{
b += chck1 +"\n ,";
}
}
b = b.TrimEnd(',');
var nwstrg = b.Split(',');
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.