VB.Net:在大小写的情况下检索输入和显示

时间:2015-06-05 05:06:14

标签: vb.net visual-studio-2010

假设我有一个文本框,其中包含以下文字:" hello"没有引号。我该如何处理该文本并输出如下内容:[Hh] [Ee] [Ll] [Ll] [Oo]

是否有比手动更改更好/更快的方式?

2 个答案:

答案 0 :(得分:0)

你的问题更多的是逻辑部分。

假设您有一个textbox和一个button,当您点击该按钮时,输出将弹出一个消息框...只需使用子字符串并将每个字符转换为uppercaselowercase并简单地添加这样的括号

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) & "]"