2013-04-27 85 views
2

我目前正在研究一個非常基本的腳本語言(稱爲EngineScript),它可以獲取文本框內容的前4個字母(在Windows Form項目中)並將其與程序中的內容進行比較關鍵字列表,然後使用其餘字符形成關鍵字的參數... 我想知道天氣你有一些代碼的想法如何去將前4個字母放在一個變量,然後剩下的字符到另一個。 我的語言將是單一命令..即你將只能夠爲每個程序運行一個命令。VB捕獲文本框中的前4個字符

回答

5

String.Substring()應該工作:

Dim first4Chars = TextBox1.Text.Substring(0, 4) 
Dim restOfChars = TextBox1.Text.Substring(4) 
+0

感謝@安迪我會測試 – 2013-04-29 20:00:26

+0

偉大的解決方案@安迪! – 2013-05-04 07:35:30

+0

@VladimarChudnofski如果回答你的問題,你應該接受這個答案。 :) – Andy 2013-05-04 13:06:02

0

是這樣的:

Dim l4 as string, rest as string 
l4 = LEFT(TextBox1.Text, 4) 
rest = MID(TextBox1.Text, 5, LEN(TextBox1.Text)) 
+0

謝謝,我會測試此 – 2013-04-27 23:18:46

+0

對不起......我要指出,我用VS2012 ......「左()」代碼理應只爲整數/數字在VB2012 ...你知道任何其他方式 – 2013-04-27 23:21:03

+0

@VladimarChudnofski不,這是不正確的。 LEFT功能仍然與過去30年一樣。這裏的VB2012文檔:http://msdn.microsoft.com/en-us/library/microsoft.visualbasic.strings.left.aspx – RBarryYoung 2013-04-28 03:18:24

1

我會告訴你如何得到的前四個字母一個很好的提示,看看有什麼你可以用放在一起。 VB是我的脖子疼!我通過它掙扎着,並意識到這是唯一的學習方式.. =)

dim substring as string 

substringA = Left$("Entered String", 4) 

strSubstrA = "Ente" 

substringB = Left$("What about a space?", 6) 

strSubstrB = "What a" 
+0

謝謝我會測試這個 – 2013-04-27 23:33:14

0

你的問題不是太清楚..

但你可以試試這個

dim sVar as string = mid(TextBox1.text,1,4) 
0

小心與Substring()功能,因爲它假定是t他的文本框長度大於或等於第二個參數。所以如果在你的輸入中有人放置少於4個字符,它會吹。

你應該這是安全的:

Dim txt1 as String = Textbox1.Text 
Dim first4Chars = If(txt1.Length > 4, txt1.Substring(0, 4), txt1.SubString(0,text.Length)) 
相關問題