将字符从低位转换为大写,反之亦然VB.Net
发布时间:2020-12-17 07:16:25 所属栏目:百科 来源:网络整理
导读:有一个搜索周围,无法找到答案. 我的任务是将字符串大小写转换为小写或大写字母,然后将它们交换成圆形. 例如: – 输入: – “HeLlO”和输出: – “hElLo” 我知道我需要使用for循环但是无法弄清楚如何逐步浏览每个字符,检查案例并在需要时切换它. 我可以创
有一个搜索周围,无法找到答案.
我的任务是将字符串大小写转换为小写或大写字母,然后将它们交换成圆形. 例如: – 输入: – “HeLlO”和输出: – “hElLo” 我知道我需要使用for循环但是无法弄清楚如何逐步浏览每个字符,检查案例并在需要时切换它. 我可以创建一个循环计数并显示单个字符或一个简单的If语句将整个字符串转换为Upper或更低但是如果我尝试组合2我的逻辑不能正常工作. 任何人都可以帮忙吗? 解决方法
这是一个简单的方法:
Public Function InvertCase(input As String) As String Dim output As New StringBuilder() For Each i As Char In input If Char.IsLower(i) Then output.Append(Char.ToUpper(i)) ElseIf Char.IsUpper(i) Then output.Append(Char.ToLower(i)) Else output.Append(i) End If Next Return output.ToString() End Function 它只是循环遍历原始字符串中的每个字符,检查它是什么情况,修复它,然后将该固定字符附加到新字符串(通过StringBuilder对象). 正如Neolisk在下面的评论中所建议的那样,您可以通过创建另一个转换单个字符的方法来使其更清晰,如下所示: Public Function InvertCase(input As Char) As Char If Char.IsLower(input) Then Return Char.ToUpper(input) If Char.IsUpper(input) Then Return Char.ToLower(input) Return input End Function Public Function InvertCase(input As String) As String Dim output As New StringBuilder() For Each i As Char In input output.Append(InvertCase(i)) Next Return output.ToString() End Function 对InvertCase(Char)使用相同的函数,您也可以使用LINQ,如下所示: Public Function InvertCase(input As String) As String Return New String(input.Select(Function(i) InvertCase(i)).ToArray()) End Function (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |