假设我有一个文本框,其中包含以下文字:" hello"没有引号。我该如何处理该文本并输出如下内容:[Hh] [Ee] [Ll] [Ll] [Oo]
是否有比手动更改更好/更快的方式?
答案 0 :(得分:0)
你的问题更多的是逻辑部分。
假设您有一个textbox
和一个button
,当您点击该按钮时,输出将弹出一个消息框...只需使用子字符串并将每个字符转换为uppercase
和lowercase
并简单地添加这样的括号
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim input As String = TextBox1.Text.Trim
Dim output As String = ""
For index As Integer = 0 To input.Length - 1
output += "[" + input.Substring(index, 1).ToUpper + "" + input.Substring(index, 1).ToLower + "]"
Next
MsgBox(output)
End Sub
End Class
从下面是Niranjan Kala添加的代码。代码不在vb中,但尝试转换它。
//如果你使用StringBuilder而不是使用SubString方法在内存中创建新的字符串以附加在输出中,那会更好。参见下面的代码片段:
string message ="hello"; // = TextBox1.Text.Trim()
StringBuilder br = new StringBuilder();
if(!string.IsNullOrEmpty(message))
{
char[] charArray = message.ToArray();
for(int index = 0;index< charArray.Length;index++)
{
br.AppendFormat("[{0}{1}]", Char.ToUpper(charArray[index]), Char.ToLower(charArray[index]));
}
}
string result = br.ToString();
result.Dump();
答案 1 :(得分:0)
您可以使用以下内容:
Function ReBuildStr(s As String) As String
Dim result As New System.Text.StringBuilder()
For Each c As Char In s
result.AppendFormat("[{0}{1}]", Char.ToUpper(c), Char.ToLower(c))
Next
Return result.ToString()
End Function
如果您不想使用StringBuilder
,可以在String
内使用For
{/ 1}}
result &= "[" & Char.ToUpper(c) & Char.ToLower(c) & "]"