如何创建用户名缩短器?

时间:2013-06-27 14:40:47

标签: vb.net

我在Textbox1中有一个名为“lastname-132”的AD用户名,这个字符串长12个,所以我想将用户名添加到Textbox2中,但是缩短了,在textbox2中我只有一个字符串长度只有10个可用由于该程序正在使用的其他工具,所以我不想手动转换它,并希望只使用onleave事件自动转换它。

任何人都知道怎么写这个?

所以最终结果应该是这样的。

'String length can be 20 max.
Textbox1.Text = "lastname-123"
'some code to convert it to this:
'String length 10 max. Numbers and the "-" should stay the same, but remove letters if necessary.
Textbox2.Text = "lastna-123"

4 个答案:

答案 0 :(得分:3)

这是概念:

  1. 将基于' - '的字符串拆分为2个字符串

    在上面的例子中:'lastname'和'123'。

  2. 检查第一个字符串的长度,如果它太长则剪切

    程序检查'lastname'并发现它太长了 把它切成'lastna'

  3. 将'lastna'和'123'组合成一个字符串

  4. 我希望这会有所帮助

答案 1 :(得分:0)

如果您只专注于要接受的字符长度限制,那么您可以使用

  

的maxlength

文本框的属性。

  

Ex:Maxlength =“10”

限制文本框只接受10个字符。

答案 2 :(得分:0)

如果没有更多信息,这将假设可以有多个连字符,数字可以是可变长度,您可以通过更改一个变量来更改字符串的最大长度。

Dim username As String = "lastname-123"
Dim max As Integer = 10

Dim lindex As Integer = username.LastIndexOf("-")
Dim numberLength As Integer = username.Length - lindex
Dim number As String = username.Substring(lindex)
Dim justName As String = username.Substring(0, lindex)

If justName.Length + numberLength >= max Then
    username = justName.Substring(0, max - numberLength) & number
End If

答案 3 :(得分:-1)

尝试使其适合例如子串操作。有关详细信息,请参阅http://msdn.microsoft.com/en-us/library/dd789093.aspx