gpt4 book ai didi

c# - 环境换行和替换

转载 作者:太空宇宙 更新时间:2023-11-03 17:54:10 24 4
gpt4 key购买 nike

我试图让人们将帐号扔到文本框中,并且试图让他们以几种不同的方式输入

IE浏览器:

1234567891011213

Or:

1234,5678,9101,1112

But for some reason my Replace function doesn't want to respect Environment.Newline or "\r\n"

public string[] getAccounts()
{
string textLines;
string[] accounts;

textLines = accountsTextBox.Text;
textLines.Replace(Environment.NewLine, ",");
accounts = textLines.Split(Environment.NewLine.ToArray(), StringSplitOptions.RemoveEmptyEntries);

return accounts;
}


我将文本框中的所有内容都抓取到一个字符串中,然后想要将所有内容强制放入一个以逗号分隔的列表中,最后用逗号将其拆分。

我的替换中缺少什么?

最佳答案

这是因为String.Replace不会修改原始字符串,而是返回一个新字符串。您应该更新该行

textLines.Replace(Environment.NewLine, ",");


如下:

textLines = textLines.Replace(Environment.NewLine, ",");


此外,您对 String.Split()的调用还有另一个问题:

它正在尝试在 Environment.NewLine.ToArray()上拆分。假设您正确执行了替换操作,那么此时它应该已经用逗号替换了换行符,因此字符串中将没有换行符分隔符。

我的最终建议是:

// At the class level
static char[] delimiters = new char[]{','};

// In your getAccounts() function
textLines = accountsTextBox.Text.Replace(Environment.NewLine, ",");
accounts = textLines.Split(delimiters, StringSplitOptions.RemoveEmptyEntries);


或者,您可以完全放弃对 String.Replace()的调用,而只是更新定界符数组,如下所示:

// At the class level
static char[] delimiters = ("\r\n,").ToArray(); // treat '\r' '\n' and ',' as delimiters

// In your getAccounts() function
accounts = accountsTextBox.Text.Split(delimiters, StringSplitOptions.RemoveEmptyEntries);

关于c# - 环境换行和替换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16200805/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com