반응형
문자열의 첫 번째 문자 대문자화
첫 번째 문자 문자열을 대문자로 쓰려고 합니다.sent정렬하여arr코드에서 작동하지 않는 부분은Right코드가 오류를 반환하도록 하는 함수입니다.해결책은 무엇일까요?
For Each sent In arr
sent = UCase(Left(sent, 1)) & Right(sent, Len(sent) - 1)
arr(i) = sent
i = i + 1
Next
그냥 사용할 수 있습니다.StrConv()이에 대한 함수. 예:
For i = LBound(arr) To UBound(arr)
sent = arr(i)
arr(i) = StrConv(sent, vbProperCase)
Next
또는 루프 없이:
arr = Split(StrConv(Join$(arr, " "), vbProperCase), " ")
사용하는 것이 더 쉬울 것입니다.Mid문자 대문자화 이후에 모든 것을 구축하는 기능.이 기능은 전체 길이를 지정할 필요가 없습니다.
For i = LBound(arr) To UBound(arr)
sent = arr(i)
' Capitalize the first letter, then append everything else.
sent = UCase(Left(sent, 1)) & Mid(sent, 2)
arr(i) = sent
Next
또한, 당신은 그냥 반복할 수 있습니다.arr사용.i열거자로 지정합니다.별도의 열거자를 사용하여 인덱스 업데이트를 혼합하고 일치시키면 문제가 발생할 수 있습니다.
사용의 차이점strConv와 함께vbPropercase솔루션을 사용하여UCase(left(xx,1)) & mid(xx,2)그것은vbPropercase모든 첫 번째 문자를 대문자로 변경하고 다른 모든 문자를 소문자로 변경합니다.항상 원하는 것은 아닙니다. 때로는 첫 번째를 대문자로, 나머지를 소문자로 사용할 수도 있습니다.
그런 다음 약간 개선된 솔루션을 사용할 수 있습니다.
UCase(Left(<string>,1)) & LCase(Mid(<string>,2))
다음을 시도합니다.
NewArr As List<string> NewArr = new List<string>()
For Each sent As String In arr
NewArr.Add(Application.WorksheetFunction.Proper(sent))
Next sent
arr = NewArr.ToArray()
나의 경우, 가장 좋은 해결책은 유사한 방법이었습니다.Mid= 바꾸기(문자열, 왼쪽(문자열, 1), UCase(문자열, 1), , 1)
StrConv(myString, vbProperCase)
언급URL : https://stackoverflow.com/questions/27669255/capitalizing-first-letter-of-strings
반응형
'programing' 카테고리의 다른 글
| Firebase 클라우드 메시징 - 토큰의 유효성을 확인하는 방법 (0) | 2023.06.30 |
|---|---|
| MongoDB의 열거형 (0) | 2023.06.30 |
| 파일에 YAML 형식의 데이터를 어떻게 쓸 수 있습니까? (0) | 2023.06.30 |
| Junit 테스트에서 MockWebServer 포트를 WebClient로 설정하는 방법은 무엇입니까? (0) | 2023.06.30 |
| phpMyAdmin에서 db 권한을 볼 수 없음 (0) | 2023.06.30 |