所以我有一个字符串“NEW”。
将该字符串转换为“新”的SIMPLEST方式是什么。
基本上我现在正在这样做:
Case "NEW"
makes = connector.GetMakesByYear(_AuthorizationKey, "NewCar", CDate(Now), Year)
Case "USED"
makes = connector.GetMakesByYear(_AuthorizationKey, "UsedCar", CDate(Now), Year)
我宁愿不使用case语句,因为它只需要更改一个参数,并且都附加了“Car”。
答案 0 :(得分:5)
使用“旧”字符串函数,您可以使用:
result = StrConv("hello world", VbStrConv.ProperCase)
将字符串转换为“正确的大小写”。但是,在您的情况下,这可能会导致(如果我读右)“Usercar”,而不是“UserCar”。
答案 1 :(得分:0)
您可以使用:
String.Format("{0}{1}", carType.Substring(0, 1).ToUpper(), carType.Substring(1).ToLower())
此致
答案 2 :(得分:0)
如果这是您打算经常使用的内容,您可以考虑为其创建扩展功能:
Public Module ObjectExtensions
<System.Runtime.CompilerServices.Extension()>
Public Function firstLetterToUpper(ByVal s As String) As String
Return Char.ToUpper(s.First()) + New String(s.Skip(1).Select(Function(x) Char.ToLower(x)).ToArray())
End Function
End Module
然后你可以这样做:
"USED".firstLetterToUpper()
返回“已使用”
显然你可以像Guilherme或Konrad的答案一样更有效地改变功能体,但如果你经常计划做这样的事情,或者如果你只是一个粉丝,那么为此做一个扩展功能会非常有用。可读性。
答案 3 :(得分:0)
这就是我所做的!
Function InitUpperCase(ByVal str As String) As String
If String.IsNullOrEmpty(str) Then
Return str
End If
Dim charlist() As Char = str.ToCharArray
charlist(0) = Char.ToUpper(charlist(0))
Return New String(charlist)
End Function
查看输出
MessageBox.Show(InitUpperCase("my first letter"))