데이터 가공은 메서드 또는 정규표현식 활용
메서드
.Contains("단어") : 단어가 포함되는지
.StartsWith("단어") : 단어로 시작하는지
.EndsWith("단어") : 단어로 끝나는지 -> 확장자명 일치여부 확인할 때 활용
.Replace("기존", "바꿀것") : 기존의 문자를 특정 문자로 바꾸기
.Substring(시작인덱스) / .Substring(시작인덱스, 문자길이) : 시작인덱스부터 길이만큼 추출
.ToString : 스트링 형식으로 변환
- Now.Tostring("MMdd") => 지금 날짜를 0305 형식으로 출력
- Now.adddays(1).ToString("yyyyMMdd") : 하루 더한 날짜로 string 형식 20240306 출력
- Now.addmonths(1).ToString("yyyyMMdd") : 1개월 더한 날짜로 string 형식 출력
- (Cint(now.ToString("yyyyMMdd"))+1).ToString : 연산을 위해 지금 날짜를 int형식으로 변환해서 하루(1)를 더한 후 다시 string 형식으로 20240305 출력
- Datetime.Now.DayOfWeek.ToString : 오늘이 무슨 요일인지 출력
- 네임스페이스가 자동으로 임포트가 안되는 경우에는 확인해서 메서드 앞에 언급해줘야 함.
.Trim : 양쪽 공백 제거
.Split("기준문자", 옵션) : 기준문자를 기점으로 나누기
- Space(\s) :.Split(" ")
- Enter(\n) :.Split(Environment.NewLine) -> 적용안되면 정규표현식 활용
- 빈 문자열이 있는 경우 제거 : .Split("_", StringSplitOptions.RemoveEmptyEntries)
- 공백 제거 : .Split("_")(0).trim
.ToUpper() : 대문자로 모두 변경
.ToLower() : 소문자로 모두 변경
정규표현식
System.Text.RegularExpressions.Regex.Match("검색할 문자열", "정규표현식")
검색할 문자열을 찾고 일치된 부분을 반환 -> .IsMatch / .Replace 도 많이 사용함
- 날짜 형식 : (\d{4}/\d{2}/\d{2}) -> 중괄호 안에 횟수 지정
- 한글 : [가-힣]+ -> 한글 하나 이상 일치
- 영어 : [A-Za-z]+ -> 대문자 또는 소문자와 하나 이상 일치
- 어떠한 문자 하나가 0번 이상 반복될 수 있음(아무것도 없을 수도 있음) : .*
- 공백을 포함한 문자열 : \s*
- 특수문자 그대로 조회하고 싶으면 특수 문자 앞에 백슬래시(
\)를 붙여주기
- 이메일 주소 추출하기: \b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+.[A-Z|a-z]{2,}\b
-> \b : 단어의 경계를 일치. 단어의 시작과 끝을 알려줄 수 있음
- URL 추출하기: (https?):\/\/[-A-Za-z0-9+&@#\/%?=~_|!:,.;]*[-A-Za-z0-9+&@#\/%=~_|]
-> URL에서 허용되는 문자들의 집합, 0회 이상 반복
와일드카드
- ex : 검색창에 검색어 입력하는 프로세스 등 셀렉터에 활용 가능(태그 수정)
? : 문자 1개 대체
* : 0개 이상의 문자 대체