C# Windows Forms应用:拆分字符串至多个TextBox的实现方法
解决方案
这事儿其实很简单,咱们用C#的字符串分割方法就能轻松实现,还能兼顾一些边界情况(比如不小心输入多个空格的场景),具体代码如下:
// 你的源字符串,或者从输入TextBox获取内容:string theString = txt_source.Text; string theString = "hardy majid Ali"; // 按空格分割字符串,同时移除可能的空项(比如连续空格产生的空字符串) string[] splitWords = theString.Split(new[] {' '}, StringSplitOptions.RemoveEmptyEntries); // 给三个目标TextBox赋值,加判断避免索引越界(比如输入不足三个单词时不会报错) if (splitWords.Length >= 1) txt_first.Text = splitWords[0]; if (splitWords.Length >= 2) txt_second.Text = splitWords[1]; if (splitWords.Length >= 3) txt_3rd.Text = splitWords[2];
关键细节说明:
Split(new[] {' '}, StringSplitOptions.RemoveEmptyEntries):这里指定按单个空格分割,同时RemoveEmptyEntries参数会自动过滤掉分割后产生的空字符串,比如用户输入了多个连续空格时,不会出现空的元素。- 加入长度判断:如果用户输入的字符串不足三个单词(比如只有两个或者一个),程序不会抛出索引越界的异常,只会给对应数量的TextBox赋值,剩下的保持原样。
如果确定输入一定是三个单词(没有多余空格、不会少单词),也可以简化成直接赋值:
string[] splitWords = theString.Split(' '); txt_first.Text = splitWords[0]; txt_second.Text = splitWords[1]; txt_3rd.Text = splitWords[2];
不过还是推荐第一种带判断的写法,鲁棒性更强。
内容的提问来源于stack exchange,提问作者Hardy M Ali
相关产品推荐
相关产品推荐

