2

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 )

4

2 に答える 2