SQL クエリの一部となるテキスト フィールドから文字列をクリーンアップしようとしています。
関数を作成しました:
Private Function cleanStringToProperCase(dirtyString As String) As String
Dim cleanedString As String = dirtyString
'removes all but non alphanumeric characters except @, - and .'
cleanedString = Regex.Replace(cleanedString, "[^\w\.@-]", "")
'trims unecessary spaces off left and right'
cleanedString = Trim(cleanedString)
'replaces double spaces with single spaces'
cleanedString = Regex.Replace(cleanedString, " ", " ")
'converts text to upper case for first letter in each word'
cleanedString = StrConv(cleanedString, VbStrConv.ProperCase)
'return the nicely cleaned string'
Return cleanedString
End Function
しかし、2 つの単語を含むテキストをきれいにしようとすると、すべての空白が取り除かれます。「daz's bike」が「Dazsbike」になります。次の行を変更する必要があると想定しています。
cleanedString = Regex.Replace(cleanedString, "[^\w\.@-]", "")
単一の空白文字も残すことができるようにします。どのオンライン チュートリアルや MSDN サイト ( http://msdn.microsoft.com/en-us/library/844skk0h(v=vs.110).aspx )