我有一個代碼,可以將單詞的最后一個字母更改為點。我需要如何,how to change the code, so when I write some words, in output I will get them without first letter例如:輸入:你好,你好嗎?OutPut:你好,你呢?這是我的代碼:
Sub New5
dim s, ns as String
dim r as String
s = inputbox("Input text")
r = "Inputed text:" & chr(9) & s & chr(13)
for i = 2 to len(s)
if mid(s,i,1)=" " then ns = ns "." else ns = ns mid(s,i-1,1)
next i
ns = ns "."
r = r & "Result of work:" & chr(9) & ns
MsgBox r
End Sub
uj5u.com熱心網友回復:
對于 VB6:
Private Sub Convert()
Dim strIn as string
Dim strA() As String
Dim strOut As String
Dim iX As Integer
strIn - "Hello, how are you?"
strA = Split(strIn, " ")
For iX = 0 To UBound(strA)
strA(iX) = Mid$(strA(iX), 2)
Next
strOut = Join(strA, " ")
End Sub
順便說一句,您的 libreoffice 標簽也不合適,因為 LibreOffice 使用的語言與 vb6 或 vba 不同。
uj5u.com熱心網友回復:
抱歉,剛看到這被標記為 vb6。這是 vb.net 的答案。
如果你想去掉每個單詞的第一個字母,首先要做的就是獲取單詞。String.Split將根據您提供的拆分字符回傳一個陣列。在這種情況下,該字符是一個空格。c字串后面的小字符告訴編譯器這是Char.
現在我們可以遍歷每個單詞并剪掉第一個字母。我將縮短的單詞存盤在List(Of String). 您可以使用Substring傳遞開始索引來擺脫第一個字母。我們想從第二個字母開始,所以我們通過了1。索引從0第一個字母開始。
最后,用于String.Join將所有內容重新組合在一起。
Chr, Len, Mid, 和MsgBox都是 VB6 遺留下來的。它們為向后兼容而作業,但學習 .net 類功能是個好主意。
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
New5()
End Sub
Private Sub New5()
Dim input = InputBox("Input text")
Dim words = input.Split(" "c)
Dim ShortWords As New List(Of String)
For Each word In words
ShortWords.Add(word.Substring(1))
Next
Dim shortenedString = String.Join(" ", ShortWords)
MessageBox.Show(shortenedString)
End Sub
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/372745.html
下一篇:自動填充表列VBA
