私はProperCase
.Netコードに次のような関数を持っています
Public Function ProperCase(ByVal strValue As String) As String
Dim outString As String = ""
Dim badWords As String = "and, at, do, de, du, USA, UK"
Dim splitter(1) As Char
splitter(0) = " "
Dim splitString As String() = strValue.Split(splitter)
For Each s As String In splitString
If badWords.Contains(s) Then
outString = outString & s & " "
Else
outString = outString & StrConv(s, VbStrConv.ProperCase) & " "
End If
Next
Return Trim(outString)
End Function
二重バレルの名前を適切に大文字にする必要がありますTaylor-Smith
がTaylor-smith
、スプリッターがスペースであるため、そのように出力されるため、コードをそのように変更しました。
Public Function ProperCase(ByVal strValue As String) As String
Dim outString As String = ""
Dim badWords As String = "and, at, do, de, du, USA, UK"
Dim splitter(2) As Char
splitter(0) = " "
splitter(1) = "-"
Dim splitString As String() = strValue.Split(splitter)
For Each s As String In splitString
If badWords.Contains(s) Then
outString = outString & s
Else
outString = outString & StrConv(s, VbStrConv.ProperCase)
End If
Next
Return Trim(outString)
End Function
そのため、関数に余分なスプリッターを追加しましたが、ハイフンを含む値が返され& " "
なくなりました。outString の末尾から を削除しましたが、何に置き換えることができるかわかりません。
追加しようとしました& splitter
が、スプリッターがスペースであっても常にハイフンを返します。
現在、変更したコードでこれを取得しています
Mr TomHart
Mr JamieTaylorSmith
そして、コードの最初のバージョンで私はこれを得ました
Mr Tom Hart
Mr Jamie Taylor-smith
私の期待される出力はそうです...
Mr Tom Hart
Mr Jamie Taylor-Smith
何か案は?