C# 如何将值拆分为2个值

C# 如何将值拆分为2个值,c#,vb.net,C#,Vb.net,像这样的用户条目 textbox1.text = 01/02/03/...... 我想在3个文本框中分别显示这些值,如下所示 textbox1.text = 01/02/03/...... 在“/”之后,它应该移动到下一行 txt1.text = 01 txt2.text = 02 txt3.text = 03 .... 如何做到这一点 需要Vb.net代码帮助请尝试以下操作: string rockString = "01/02/03/"; string[]

像这样的用户条目

textbox1.text = 01/02/03/......
我想在3个文本框中分别显示这些值,如下所示

textbox1.text = 01/02/03/......
“/”
之后,它应该移动到下一行

txt1.text =  01
    txt2.text = 02
   txt3.text =  03
    ....
如何做到这一点

需要Vb.net代码帮助

请尝试以下操作:

string rockString =  "01/02/03/";
string[] words = rockString.Split('/');
foreach (string word in words)
    {
      Console.WriteLine(word);
     }
如您在评论中所问

在不同的文本框中

textbox1.text = words[0]; //textbox1.text="01";
    textbox2.text = words[2]; //textbox2.text="02";
    textbox3.text = words[3]; //textbox3.text="03";
在同一个文本框中

 textbox1.text = words[0]+words[1]+words[2];
试试这个:

string rockString =  "01/02/03/";
string[] words = rockString.Split('/');
foreach (string word in words)
    {
      Console.WriteLine(word);
     }
如您在评论中所问

在不同的文本框中

textbox1.text = words[0]; //textbox1.text="01";
    textbox2.text = words[2]; //textbox2.text="02";
    textbox3.text = words[3]; //textbox3.text="03";
在同一个文本框中

 textbox1.text = words[0]+words[1]+words[2];
尝试使用或Regex.Split

Dim value As String = "01//02//03//" 
Dim lines As String() = Regex.Split(value, "//") 
For Each line As String In lines    
Console.WriteLine(line) 
Next
尝试使用或Regex.Split

Dim value As String = "01//02//03//" 
Dim lines As String() = Regex.Split(value, "//") 
For Each line As String In lines    
Console.WriteLine(line) 
Next

选项1

如果总是3个文本框,您可以为每个文本框编写静态代码,如下所示:

'EDIT:此代码现在检查是否存在第二个或第三个值以避免
“越界错误
Dim originalValue作为字符串=“01/02/03”
Dim splitBySlash As String()=originalValue.Split(“/”)
txt1.Text=splitBySlash(0)
如果splitBySlash.Length>1,则txt2.Text=splitBySlash(1)
如果splitBySlash.Length>2,则txt3.Text=splitBySlash(2)
选项2

如果基于斜杠的文本框数量可变,则必须在运行时创建它们并将其添加到父控件中,如下所示:

'您可以在此代码中输入任意多(或少)个斜杠,它将自动
'根据需要调整创建的文本框。
Dim originalValue As String=“01/02/03”'可能会像/04/05/etc一样继续
Dim splitBySlash As String()=originalValue.Split(“/”)
在SplitByFlash中将每个值作为字符串
将新文本设置为新文本框()
newText.Text=值
yourParentControl.Controls.Add(newText)
下一个

选项1

如果总是3个文本框,您可以为每个文本框编写静态代码,如下所示:

'EDIT:此代码现在检查是否存在第二个或第三个值以避免
“越界错误
Dim originalValue作为字符串=“01/02/03”
Dim splitBySlash As String()=originalValue.Split(“/”)
txt1.Text=splitBySlash(0)
如果splitBySlash.Length>1,则txt2.Text=splitBySlash(1)
如果splitBySlash.Length>2,则txt3.Text=splitBySlash(2)
选项2

如果基于斜杠的文本框数量可变,则必须在运行时创建它们并将其添加到父控件中,如下所示:

'您可以在此代码中输入任意多(或少)个斜杠,它将自动
'根据需要调整创建的文本框。
Dim originalValue As String=“01/02/03”'可能会像/04/05/etc一样继续
Dim splitBySlash As String()=originalValue.Split(“/”)
在SplitByFlash中将每个值作为字符串
将新文本设置为新文本框()
newText.Text=值
yourParentControl.Controls.Add(newText)
下一个

重新标记以包含c#代码以供将来参考,因为这是一个常见的问题,您认为如何?重新标记以包含c#代码以供将来参考,因为这是一个常见的问题,您认为如何?伙计,谢谢您的帮助,但用户也可以输入01/02或01,在这种情况下,“splitBysplash”中将错误显示为超出索引。帮我…使用第二个版本的代码?在第一种情况下,用户必须输入三个值,否则它将崩溃;在第二种情况下,用户可以输入任意数量的值(我编辑了答案以反映这一点)。我有常量textbox,我不想在运行时创建,而不是在运行时添加,我可以获得数组计数,然后我可以将值传递给textbox,你能帮我吗…我已经为你添加了验证选项1中数组边界的代码。都德,谢谢你的帮助,但用户也可以输入01/02或01,在这种情况下,它在“splitBysplash”中将错误显示为超出索引。帮我…使用第二个版本的代码?在第一种情况下,用户必须输入三个值,否则它将崩溃;在第二种情况下,用户可以输入任意数量的值(我编辑了答案以反映这一点)。我有常量textbox,我不想在运行时创建,而不是在运行时添加,我可以获得数组计数,然后我可以将值传递给textbox,你能帮我吗?我已经为你添加了验证选项1中数组边界的代码。