WPF & C# - 문자열 함수등 모음 ( String / Regex / 정규표현식 / 정규식 / 문자 치환 / 배열 / 갯수 / 개수 / 잘라내기 / 추출하기 / 자릿수 / 자리수 / 중간 / 숫자만 / 공백제거 / 특수문자제거 / 포함여부 찾기 및 확인 / Substring / 대문자 / 소문자 ) |
@ 특정 문자 변경 / 치환 / 변환 / 대체 / 스왑
1
|
str = str.Replace("abc","cba"); // abc를 cba로 변경
|
cs |
@ 특정 문자 기준으로 나누기 / 배열 / foreach
1
2
3
4
5
6
7
|
string str = "123.456.789";
string[] val = str.Split('.'); // .을 기준으로 나눈다. 결과값 : val[0] = 123 , val[1] = 456 , val[2] = 789
string val2 = "";
foreach (string temp in val)
{
val2 += temp;
} // 결과값 : val2 = 123456789
|
cs |
@ 전체 문자열을 string[] 하나씩 넣기 / 배열 / for
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
// 문자열을 String[] 에 넣기
string word = "ABCDE"; // 문자열
string[] words = arrayStr(word); // string[] word 에 넣기
// 문자열을 String[] 에 넣기
private string[] arrayStr(string word)
{
string[] words = new string[word.Length];
for (int i = 0; i < word.Length; i++)
{
words[i] = word.Substring(i, 1);
}
return words;
}
|
cs |
@ 전체 문자열을 char 에 하나씩 넣기 / 배열 / for
1
2
3
|
string words = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
char[] word = words.ToArray();
|
cs |
@ 특정 문자 개수 세기
1
2
3
4
|
string word = "1"; // 검색어 지정
string str = "126413571689"; // 전체 문자열
string[] words = str.Split(new string[] { word }, StringSplitOptions.None); // str을 word로 잘라서 배열을 만들고 그 숫자를 센다.
int count = words.Length - 1; // 결과값 = 3
|
cs |
@ 문자열 추출하기 ( 자릿수 기준)
@ 문자열 시작부터 자리수만큼 추출하기
1
2
|
string str = "3214601485";
string val = str.Substring(0,5); // 시작부터 5자리 추출( 결과값 32146)
|
@ 문자열 중간부터 자리수만큼 추출하기
1
2
3
|
string str = "3214601485";
string val = str.Substring(5, 3); // 앞에서 5자리 제하고부터 3자리를 추출( 결과값 : 014 )
|
cs |
@ 문자열 끝부터 자리수만큼 추출하기
1
2
|
string str = "3214601485";
string val = str.Substring(str.Length - 3, 3); // 뒤에서 3자리만 추출 ( 결과값 : 485 )
|
cs |
@ 문자열 추출하기 ( 특정 문자 기준)
@ 시작부터 특정 문자 앞까지 추출하기
1
2
|
string str = "3214601485"; // 문자열
string val = str.Substring(0, str.IndexOf("0")); // 결과값 : 32146
|
cs |
@ 첫번째 특정 문자부터 기준으로 추출하기
string val = ""; // 결과값
string str = "3214601485";
val = str.Substring(str.IndexOf("1"), 3); // 첫번째 문자열포함 3자리 추출하기( 결과값 : 146 )
val = str.Substring(str.IndexOf("1") + 1, 3); // 첫번째 문자열제외 3자리 추출하기( 결과값 : 460 )
@ 마지막 특정 문자부터 기준으로 추출하기
string val = ""; // 결과값
string str = "3214601485";
val = str.Substring(str.LastIndexOf("1"), 3); // 마지막 문자열포함 3자리 추출하기( 결과값 : 148 )
val = str.Substring(str.LastIndexOf("1") + 1, 3); // 마지막 문자열제외 3자리 추출하기( 결과값 : 485 )
@ 특정 문자를 찾아서 중간부분 반환하기
1
2
3
4
5
6
7
|
string val = ""; // 결과값
string str = "3214601485"; // 문자열
int stt_str = str.IndexOf("1"); // 검색어1
int end_str = str.IndexOf("8"); // 검색어2
val = str.Substring(stt_str, (end_str + 1) - stt_str); // 결과값 : 1460148 (검색어 1, 2 포함)
val = str.Substring(stt_str, end_str - stt_str); // 결과값 : 146014 (검색어 1 포함)
val = str.Substring(stt_str + 1, (end_str - 1) - stt_str); // 결과값 : 46014 (검색어 제외)
|
cs |
@ 특정 문자부터 끝까지 추출하기
1
2
|
string str = "3214601485"; // 문자열
string val = str.Substring(str.IndexOf("0")); // 결과값 : 01485
|
cs |
@ 문자열 잘라내기 ( 자릿수 기준 )
1
2
|
string str = "3214601485";
string val = str.Substring(3); // 앞에서 3자리 잘라내기( 결과값 : 4601485 )
|
cs |
1
2
|
string str = "3214601485";
string val = str.Substring(0, str.Length - 4); // 끝에서 4자리 잘라내기( 결과값 : 321460 )
|
cs |
@ 문자열 잘라내기 ( 특정문자기준 )
string val = ""; // 결과값
string str = "192.168.0.1";
val = str.Substring(str.LastIndexOf(".")); // 끝에서 특정문자 앞부분 잘라내기( 결과값 : .1 )
val = str.Substring(str.LastIndexOf(".") +1); // 끝에서 특정문자포함 앞부분 잘라내기( 결과값 : 1 )
val = str.Substring(0, str.LastIndexOf(".") + 1); // 끝에서 특정문자포함 끝까지 잘라내기( 결과값 : 192.168.0. )
val = str.Substring(0, str.LastIndexOf(".") + 1) + "1"; // 게이트웨이 입력하기 ( 결과값 : 192.168.0.1 )
@ 문자열 포함여부 찾기 및 확인
1
2
3
4
5
|
string str = "3214601485";
if (str.Contains("014") == true)
{
MessageBox.Show("포함");
}
|
cs |
1
2
3
4
5
|
string str = "3214601485";
if (str.Contains("014"))
{
MessageBox.Show("포함");
}
|
cs |
@ 문자열 자르기 / 특정 문자가 두자리 이상이라면?
@@@ 아래와 같은 결과 값을 가져온다... 헷갈린다...
1
2
3
4
5
6
7
|
string val = ""; // 결과값
string str = "3214601485"; // 문자열
int stt_str = str.IndexOf("14"); // 검색어1
int end_str = str.IndexOf("48"); // 검색어2
val = str.Substring(stt_str, end_str - stt_str + 1); // 결과값 : 146014
val = str.Substring(stt_str, end_str - stt_str); // 결과값 : 14601
val = str.Substring(stt_str + 1, end_str - stt_str - 1); // 결과값 : 4601
|
cs |
@@@ 둘 이상의 문자라면 아래와 같이 변경해주자~!!! ^^
1
2
3
4
5
6
7
8
9
10
|
string val = ""; // 결과값
string str = "3214601485"; // 문자열
string stt_word = "14"; // 검색어1
string end_word = "48"; // 검색어2
int stt_str = str.IndexOf(stt_word); // 검색어1
int end_str = str.IndexOf(end_word); // 검색어2
val = str.Substring(stt_str, end_str - stt_str); // 결과값 : 14601 (검색어1 포함)
val = str.Substring(stt_str + stt_word.Length, end_str - stt_str); // 결과값 : 60148 (검색어2 포함)
val = str.Substring(stt_str, end_str - stt_str + end_word.Length); // 결과값 : 1460148 (검색어1, 2 포함)
|
cs |
@@@ 특정 기준 문자열 제거하고 추출하기
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
string str = "(6)update(10)googleapis(3)com(0)";
string beforeWord = ")";
string afterWord = "(";
string Word = "";
string[] splitDatas = str.Split(new string[] { beforeWord }, StringSplitOptions.None);
foreach (string s in splitDatas)
{
string keyWord = s.Split(new string[] { afterWord }, StringSplitOptions.None)[0];
Word += keyWord + " ";
}
Word = Word.Trim();
Word = Word.Replace(' ', '.');
MessageBox.Show(Word); // update.googleapis.com
|
cs |
@ 문자열 공백제거
1
2
3
4
5
6
7
8
|
string str = str.TrimStart(); // 문자열 앞쪽 공백제거
string str = str.TrimEnd(); // 문자열 뒤쪽 공백제거
string str = str.Trim(); // 문자열 앞뒤 공백 모두 제거
// 모든 공백제거는?
string str = str.Replace(" ", "") // 문자변경(치환)을 이용한다.
|
cs |
@ RegularExpressions Regex 정규표현식 활용하기 ( 정규식 )
@ 문자열 속의 숫자만 추출하기 / 숫자이외의 문자열 치환하기
1
2
3
4
5
|
using System.Text.RegularExpressions;
string str = "A1B2C3";
string val = Regex.Replace(str, @"\D", ""); // 결과값 : 123
string val = Regex.Replace(str, @"\D", "Z"); // 결과값 : Z1Z2Z3
|
cs |
@ 숫자만있는지 확인하기
int i = 0;
string s = "108";
bool result = int.TryParse(s, out i); //i now = 108
@ IP형식에 맞는지 확인하기
string connIP = "192.168.0.1";
System.Net.IPAddress ip;
bool isIP = System.Net.IPAddress.TryParse(connIP, out ip);
if (isIP) { } // IP 형식에 맞는지 여부
@ SubNet IP 넣기
string connIP = "192.168.0.1";
System.Net.IPAddress ip;
bool isIP = System.Net.IPAddress.TryParse(connIP, out ip);
if (isIP) { } // IP 형식에 맞는지 여부
https://regexr.com/
https://insurang.tistory.com/175
https://m.blog.naver.com/blogpyh/220226080485
@ 특수문자제거
1
2
|
string str = "A1@!+B2C3";
string str = System.Text.RegularExpressions.Regex.Replace(str, "[^0-9a-zA-Zㄱ-힗]+", ""); // 결과값 : A1B2C3
|
cs |
@ 대소문자로 변환하기 - 대문자
1
2
|
string str = "aAbBcC";
string str = str.ToUpper(); // 결과값 : AABBCC
|
cs |
@ 대소문자로 변환하기 - 소문자
1
2
|
string str = "aAbBcC";
string str = str.ToLower(); // 결과값 : aabbcc
|
cs |
'Programing (프로그래밍) > WPF & C# (C Sharp)' 카테고리의 다른 글
WPF & C# (C Sharp) - Environment 로 부터 추출되는 data 각종 정보 (0) | 2017.10.19 |
---|---|
WPF & C# (C Sharp) - XML 파일 저장하기 ( 쓰기 ) / 읽어오기 ( 읽기 ) / LINQ (0) | 2017.10.19 |
WPF & C# - 새창열기 ( 새 창 띄우기 / 창팝업 ) (0) | 2017.10.17 |
DoubleAnimation을 이용한 ToastMessage 토스트메세지 toast Message (3) | 2017.10.17 |
[WPF & C# (C Sharp)] - 스토리보드 / 더블애니메이션( Storyboard / DoubleAnimation / Story ) (0) | 2017.09.14 |
WPF & C# - 레지스트리에 값 읽기 쓰기 지우기 삭제하기 ( 입력 삭제 레지 Regstry RegstryKey Reg REGEDIT ) (0) | 2017.09.14 |
WPF & C# - Inkcanvas Gesture Event ( 잉크캔버스 제스처 제스쳐 이벤트 등록) (0) | 2017.09.13 |
[WPF & C# (C Sharp)] - Entry_web_multi-user / 네이버 엔트리 (0) | 2017.09.07 |