반응형
Excel VBA - 문자열의 일부 제거
문자열의 일부를 삭제하려고 합니다.예를들면
mystring="site, site text, sales "
내 문자열에서 'site'를 제거하고 싶습니다.필요한 출력은 "사이트 텍스트, 세일즈"입니다.
나는 다음 코드 라인을 사용합니다.
s1 = Replace(mystring, "site", "")
하지만 나는 받고 있습니다."text, sales"
어떻게 해야 할지 잘 모르겠고 도와주시면 정말 감사하겠습니다!
replace("site, site text, sales ","site, ","",1,1)
또한 파라미터로 시작 위치와 교체할 횟수를 전송할 수 있습니다.(기본값은 -1)
여기에는 다양한 옵션이 있습니다.
대체할 검색 문자열에 코마를 추가하여 사용하기만 하면 됩니다.Trim공백을 제거하려면:
s1 = Trim(Replace(mystring, "site,", ""))
문자열을 바꿀 시간을 지정합니다(첫 번째 "1"은 시작, 두 번째는 교체 횟수).
s1 = Trim(Replace(mystring, "site,", "",1,1))
아니면 어려운/나쁜 방법으로, 첫번째 발생 후에 당신의 끈을 두 조각으로 분해하고 다시 결합하여 결과를 얻는 것입니다.
TempStart = Left(mystring, InStr(1, mystring, "site") + Len(mystring) + 1)
TempEnd = Replace(mystring, TempStart, "")
TempStart = Replace(TempStart, "site", "")
mystring = CStr(TempStart & TempEnd)
VB의 MID 기능을 다음과 같이 사용할 수도 있습니다.
Mystring=Mid(myString, 6)
출력은 "사이트 텍스트, 판매"가 될 것입니다.
숫자 부분에서 제거할 문자 수를 지정하기만 하면 됩니다.
저의 경우, "[]와 "[] 사이에 있는 문자열 부분을 제거하고 싶었습니다.그리고 다음 코드는 잘 작동했습니다.
따라서 열 A의 원래 문자열(및 열 B의 솔루션):
Sub remove_in_string()
Dim i, lrowA, remChar As Long
Dim mString As String
lrowA = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row
For i = 2 To lrowA
mString = Cells(i, 1).Value
If InStr(mString, "[") > 0 Then
remChar = InStr(mString, "]") - InStr(mString, "[") + 1
Cells(i, 2).Value = Left(mString, Len(mString) - remChar)
ElseIf InStr(mString, "[") = 0 Then
Cells(i, 2).Value = Cells(i, 1).Value
End If
Next
End Sub
언급URL : https://stackoverflow.com/questions/30024421/excel-vba-remove-part-of-the-string
반응형
'programing' 카테고리의 다른 글
| 해시할 레일 객체 (0) | 2023.06.16 |
|---|---|
| STATION의 두 도시에 가장 짧고 긴 CITY 이름을 쿼리합니다. (0) | 2023.06.16 |
| react-hook-form 핸들의 서버측 오류 처리Submit (0) | 2023.06.16 |
| HTMLElement 확장: 웹 팩을 사용할 때 생성자가 실패함 (0) | 2023.06.16 |
| MariaDB/InnoDB 성능: 복합 기본 키와 테이블에 대한 사용되지 않는 대리 정수 기본 키? (0) | 2023.06.16 |