Ticket #2173: _StringProper.au3

File _StringProper.au3, 1.6 KB (added by BrewManNH, 12 years ago)

Modified version of _StringProper

Line 
1$String = "She's all that I,wAnt (10th place of 2)"
2ConsoleWrite('@@ Debug(' & @ScriptLineNumber & ') : __StringProper($String) = ' & __StringProper($String) & @crlf & '>Error code: ' & @error & @crlf) ;### Debug Console
3ConsoleWrite('@@ Debug(' & @ScriptLineNumber & ') : _StringProper($String) = ' & _StringProper($String) & @crlf & '>Error code: ' & @error & @crlf) ;### Debug Console
4
5Func __StringProper($s_String) ; modified _StringProper function, correctly capitalizes after ' , and numbers
6        Local $iX = 0
7        Local $CapNext = 1
8        Local $s_nStr = ""
9        Local $s_CurChar
10        For $iX = 1 To StringLen($s_String)
11                $s_CurChar = StringMid($s_String, $iX, 1)
12                Select
13                        Case $CapNext = 1
14                                If StringRegExp($s_CurChar, "[a-zA-ZÀ-ÿ'šœžŸ0-9,]") Then
15                                        $s_CurChar = StringUpper($s_CurChar)
16                                        $CapNext = 0
17                                EndIf
18                        Case Not StringRegExp($s_CurChar, "[a-zA-ZÀ-ÿ'šœžŸ0-9,]")
19                                $CapNext = 1
20                        Case Else
21                                $s_CurChar = StringLower($s_CurChar)
22                EndSelect
23                $s_nStr &= $s_CurChar
24        Next
25        Return $s_nStr
26EndFunc   ;==>_TitleCaseString
27Func _StringProper($s_String)
28        Local $iX = 0
29        Local $CapNext = 1
30        Local $s_nStr = ""
31        Local $s_CurChar
32        For $iX = 1 To StringLen($s_String)
33                $s_CurChar = StringMid($s_String, $iX, 1)
34                Select
35                        Case $CapNext = 1
36                                If StringRegExp($s_CurChar, '[a-zA-ZÀ-ÿšœžŸ]') Then
37                                        $s_CurChar = StringUpper($s_CurChar)
38                                        $CapNext = 0
39                                EndIf
40                        Case Not StringRegExp($s_CurChar, '[a-zA-ZÀ-ÿšœžŸ]')
41                                $CapNext = 1
42                        Case Else
43                                $s_CurChar = StringLower($s_CurChar)
44                EndSelect
45                $s_nStr &= $s_CurChar
46        Next
47        Return $s_nStr
48EndFunc   ;==>_StringProper
49