如何从 .NET 框架 C# 中的文本框中删除双逗号?

Posted

技术标签:

【中文标题】如何从 .NET 框架 C# 中的文本框中删除双逗号?【英文标题】:How to remove double comma from textbox in .NET framework C#? 【发布时间】:2021-10-08 09:56:36 【问题描述】:

我想制作用户可以输入小数的文本框,例如“1、2、3、4”。然后我将其拆分为整数数组使用

array = Array.ConvertAll(str.Split(','), int.Parse);

当用户输入时,例如"1,,,,2,,3,4" 有一个例外。字符串不可变时如何删除逗号?

【问题讨论】:

这能回答你的问题吗? c# split string and remove empty string 【参考方案1】:

您不能从现有字符串中删除逗号 - 尽管您可以在拆分之前创建一个 不同的 字符串。这通常是您对字符串处理所做的事情 - 创建整个字符串序列、执行替换、修剪等。

一个更简单的解决方案可能是使用StringSplitOptions.RemoveEmptyEntries

string[] parts = str.Split(',', StringSplitOptions.RemoveEmptyEntries);
array = Array.ConvertAll(parts, int.Parse);

(请注意,String.Split(char, StringSplitOptions) 重载在桌面框架中不可用;您需要调用 String.Split(char[], StringSplitOptions) - 只需在调用代码中将 ',' 更改为 new[] ',' 。)

您也可以包含StringSplitOptions.TrimEntries,这样“1, 2 , 3 ,4” 的处理方式将等同于“1,2,3,4”。

这是假设您只是想要处理用户添加比预期更多的逗号。例如,如果用户输入 "1,2,xyz" 将无济于事。

【讨论】:

以上是关于如何从 .NET 框架 C# 中的文本框中删除双逗号?的主要内容,如果未能解决你的问题,请参考以下文章

C#中的变量无法从html文本框中获取值

在启动 C# .NET 时将文本加载到文本框中

C#如何从表单中的文本框中获取文本,从不同的类调用

替换文本框中的特定文本 C#

如何使用 C# 从文本框中的访问数据库中获取数据

C#中怎样从一个form的文本框获取另一个form中Comobox控件的值