I'm assuming your label expression is something similar to this:
Function FindLabel ( [NAME] )
FindLabel = UCase(Left([NAME],1)) & LCase(Right([NAME], Len([NAME]) -1))
End Function
This expression will treat the bracket as the first character of your word, thus producing your observed result. Please use the following modified expression to overcome this.
function mcase(s)
for each word in Split(s)
if (left(word,1)="(" or left(word,1)="[" or left(word,1)="{") then
mcase = mcase + " " + ucase(left(word,2)) + lcase(right(word,len(word)-2))
else
mcase = mcase + " " + ucase(left(word,1)) + lcase(right(word,len(word)-1))
end if
next
end function
Function FindLabel ( [Test] )
FindLabel = mcase( [Test] )
End Function
Sam
Esri