Как разделить строку для размещения в нескольких текстовых полях? - PullRequest
0 голосов
/ 13 июля 2011

Я пытаюсь разбить строку, в зависимости от ее длины, чтобы я мог назначить определенные ее части различным текстовым полям.

if (str.Length <= 2)
{
    textbox1.Text = str; //(the first textbox is 2 characters long, so this is fine)
}
else if() //this is where I need to split the first two characters 
          //into the first textbox, then the next 2 into a second 
          //textbox, than anything left over into the third textbox

Скажем, значение строки - 123456789, я бы хотел 89 в первом поле, 67 во втором и 12345 в третьем, если это имеет смысл.

Ответы [ 3 ]

2 голосов
/ 13 июля 2011

Вы можете использовать String.Substring () :

"123456789".Substring(0, 2);    => "12"
"123456789".Substring(2, 2);    => "34"
"123456789".Substring(4);       => "56789"
2 голосов
/ 13 июля 2011

Вот рабочий код LinqPad:

void Main()
{
    string theString = "123456789";

    theString.Substring(theString.Length - 2, 2).Dump();
    theString.Substring(theString.Length - 4, 2).Dump();
    theString.Substring(0, theString.Length - 4).Dump();
}
1 голос
/ 13 июля 2011

Как-то так?

string theString = "123456789";

System.Text.RegularExpressions.Regex re = new System.Text.RegularExpressions.Regex("^(.+?)(.{1,2}?)?(.{1,2})$");
System.Text.RegularExpressions.Match m = re.Match(theString)

this.TextBox1.Text = m.Groups[3].Value
this.TextBox2.Text = m.Groups[2].Value
this.TextBox3.Text = m.Groups[1].Value

Правка: О, ты идешь в обратном направлении.Исправлено.

Редактировать 2: Мне надоели Substring и математика:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...