2013-06-27 25 views
-1

我有一個AD用戶名爲「姓氏-132」在Textbox1中,這個字符串是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

用戶名的規則是什麼?他們總是以' - ###'結尾,還是會有更多或更少的數字? – psubsee2003

+1

總是隻有一個連字符嗎? – Gray

+0

您是否使用前導零來保持數字部分不變? –

回答

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 
+0

非常感謝您節省了我的一天:) – Pwnisher1337

+0

不客氣:) – keyboardP

3

這裏的概念:基於

  1. 分割字符串 ' - ' 爲2個串

    在上面的例子: '姓' 和 '123'。

  2. 檢查第一個字符串的長度和削減如果太長

    程序檢查「姓」,並認爲它是太長,則 削減它變成「lastna」

  3. 結合「lastna」和「123」回字符串

我希望這有助於

0

如果你正在集中只有被接受,然後字符長度的限制,您可以使用文本框的

MAXLENGTH

財產。

例:MAXLENGTH = 「10」

限制文本框爲僅接受10個字符。