- 문자열의 선언
string str = "마음소프트";
System.String str = "마음소프트";
String str = "마음소프트";
// 보통 첫번째인 string형으로 많이 선언하게 됩니다.
- 인덱스(Index)로 접근하기
string str = "가나다라마바사";
Response.Write( str[0] );
// 결과는 첫번째 문자인 '가' 출력
- 문자열 추가
string str1 = "반갑습니다. ";
str1 = str1.Insert(str1.Length, "홍길동님");
str1 = str1.Insert(0, "앗! ");
Response.Write( str1 );
// 결과는 '앗! 반갑습니다. 홍길동님' 출력string str2 = String.Concat("마", "음", "소", "프", "트");
Response.Write( str2 );
// 결과는 '마음소프트' 출력string str3 = "마" + "음" + "소" + "프" + "트";
Response.Write( str3 );
// 결과는 '마음소프트' 출력
- 대소문자 변환
C#은 대소문자를 구분하기 때문에 자주 사용되며, 대소문자가 구분없는 한글은 별다른 소용이 없습니다.
예를 들면, 'MaumSoft' 값과 'maumsoft' 라는 값은 서로 틀린 값이라고 보시면 되겠습니다. 사실은 같은 값이지만 --;string str = "MaumSoft";
Response.Write( str.ToUpper() );
Response.Write( str.ToLower() );
// 결과는 각각 'MAUMSOFT', 'maumsoft' 출력
- 공백 문자열 지우기
string str = " 마음소프트 ";
str = str.TrimStart(); // 앞(왼쪽)쪽 문자열 삭제
str = str.TrimEnd(); // 뒤(오른쪽)쪽 문자열 삭제
str = str.Trim(); // 양쪽 문자열 삭제
// 특별한 상황이 아니면, 보통 Trim을 씁니다.
- 문자열을 찾아서 문자열 자르기
전체 문자열에서 어떤 문자열을 찾아서, 그 검색된 문자열을 다음 공백까지 잘라내는 작업을 많이 합니다.
전문 용어로 이를 파싱(Parsing)이라고 부릅니다.
IndexOf( "검색할 문자열" );
LastIndexOf( "검색할 문자열" );
Substring( 자를 위치 첨자 );
Substring( 자를 위치 첨자, 첨자에서 자를 만큼의 길이 );
- 구분자 기준으로 문자열 자르기 (Split)
구분자를 기준으로 문자열을 분리시켜서 배열로 반환합니다.
string str = "가,나,다,라,마";
string [] result = str.Split(',');
- 문자열 치환하기
문자열 중 특정 문자를 다른 문자로 바꾸고 싶을때 Replace 가 사용됩니다. 특히 ASP.NET 에서 내용을 보여줄때 꼭 쓰입니다.
string str = "마음소프트\r\nC# 라이브러리";
str = str.Replace( "\r\n", "<br>" );
// 글 입력을 받을 때 textarea 내에서 엔터를 치면 /r/n 으로 데이터가 입력됩니다. (일명 Carriage return 과 New line)
// 그냥 출력해서 보여주면 내용이 라인 구분없이 계속 붙어 나옵니다.
- System.String 클래스의 인스턴스 메서드
Clone 클래스 참조 반환 CompareTo 특정 객체와 비교 CopyTo 객체 복사 EndsWith 특정 문자열로 끝나는지를 확인 Equals 비교 연산 GetEnumerator IEnumerator 인터페이스 반환 GetHashCode 해쉬 코드 반환 GetType 형식 정보 반환 GetTypeCode TypeCode 반환 IndexOf 문자열 검색 IndexOfAny 유니코드 문자열에서 먼저 나오는 문자 반환 Insert 문자열 삽입 LastIndexOf IndexOf를 뒤에서부터 수행 LastIndexOfAny IndexOfAny를 뒤에서부터 수행 PadLeft 문자열에서 남아있는 왼쪽을 빈 공백으로 채움 PadRight 문자열에서 남아있는 오른쪽을 빈 공백으로 채움 Remove 지정 개수의 문자 제거 Replace 문자열 치환 Split 문자열 분리하여 배열로 반환 StartsWith 특정 문자로 시작하는지를 확인 Substring 문자열 추출 ToCharArray 문자 배열로 변환 ToLower 소문자로 변환 ToString 객체를 나타내는 문자열 반환 ToUpper 대문자로 변환 Trim 양쪽 공백 없앰 TrimEnd 문자열 끝 부분의 공백 없앰 TrimStart 문자열 시작 부분의 공백 없앰
### code -----------------------------------------------------------------------------
using System;
namespace ConsoleTest
{
class Class1
{
public static void Main(string[]args)
{
//문자열 비교
string str;
string str1="ABC";
string str2="ABC";if(str1.Equals(str2))
Console.WriteLine("동일");
else
Console.WriteLine("다름");//문자열삭제
string str3 = "나는 문자열입니다.";
Console.WriteLine(str3.Remove(3,4)); //3위체에서부터 4개 삭제//양식문자열
//콘솔이 아닌 웹등에서 사용용이, 사용법은 WriteLine과 같음.
str = String.Format("{0,10}","ABC");
Console.WriteLine(str); //콘솔에서는 WriteLine 사용
Console.WriteLine(String.Format("{0:f2}",1520));//문자열 일정문자단위로 분리
string csv = "전도환, 노테우, 김명삼, 김대증,노모현,이헤찬, 니미럴....";
string [] result;result = csv.Split(',');
for( int i=0; i<result.Length;i++)
Console.WriteLine(result[i].Trim());//문자열길이, 복제. 비교
str = "가나다라마바사";
Console.WriteLine("문자열 : {0}", str);
Console.WriteLine("문자열 길이 : {0}", str.Length);
Console.WriteLine("문자열 복제 : {0}", str.Clone());
Console.WriteLine("문자열 비교 : {0}", str.Equals("ABCDE"));//Indexer
char firstChar = str[0];
Console.WriteLine("첫문자 : {0}", firstChar); // 결과 : 가//문자열 추가 ( Insert )
str2="추가문자열";
str = str.Insert(0, str2); //0번째 위치에 str2문자열 추가
Console.WriteLine(str);//문자열 병합 ( Concat )
str2 = String.Concat("가","마","사");
Console.WriteLine(str2);
str2 = String.Concat(str,"마","사");
Console.WriteLine(str2);
str2 = str2 + str;
Console.WriteLine(str2);//대소문자 변환 ( ToLower, ToUpper )
str = "Hi~ GoodMorning~";
Console.WriteLine(str.ToUpper());
Console.WriteLine(str.ToLower());
Console.WriteLine(str);//문자열 좌/우 공백제거 ( Trim )
str = " 열심히 공부하세요 ";
Console.WriteLine(">" + str.TrimStart() + "<") ;
Console.WriteLine(">" + str.TrimEnd() + "<");
Console.WriteLine(">" + str.Trim() + "<");
Console.WriteLine(">" + str.TrimStart().TrimEnd() + "<");//문자열 치환 (Replace) 대소문자 구분한다.
str = "Hello~";
Console.WriteLine(str);
Console.WriteLine(str.Replace("~", "..."));//문자열 검색, 0부터 시작. 해당하는 문자열의 첫번째 위치값 리턴 ( IndexOf )
Console.WriteLine(str.IndexOf("공부"));str = "I Love You~";
//문자열 추출b ( Substring )
Console.WriteLine(str.Substring(2)); //2번째위치부터 끝까지
Console.WriteLine(str.Substring(2,4));
}
}
}### -------------------------------------------------------------------------------------
ToCharArray
- 문자열을 Char형의 배열 형식으로 반환합니다### code -----------------------------------------------------------------------------
using System;
namespace ConsoleTest
{
class Class1
{
public static void Main(string[]args)
{
string str = "012wxyz789";
char [] arr;arr = str.ToCharArray(3, 6); //3번째 위치에서 6개의 글자를 추출해 배열방에 각각 넣는다.
Console.Write("The letters in '{0}' are: '", str);
Console.Write(arr); //배열방 출력시 해당내용 출력for( int i=0;i<arr.Length;i++) //각각의 배열방에도 들어가 있음.
Console.WriteLine(arr[i]);Console.WriteLine("'");
char [] array;
array = str.ToCharArray(); //인자를 써주지 않으면 모든 문자 배열에 집어넣음
Console.WriteLine("Each letter in '{0}' is:", str);
Console.WriteLine(array);foreach (char c in arr)
Console.WriteLine(c);
}
}
}### -------------------------------------------------------------------------------------
System.Text.StringBulider
- 닷넷에서 String클래스를 이용한 문자열 처리는 비효율적
- 대형 문자열이나 잦은 문자열 변경시
- 대부분의 문자열 관련 함수들이 String 인스턴스를 새로 생성시켜 반환StringBulider sb = new StringBulider("ABC");
- StringBuilder.Capacity : 객체내에 문자열 버퍼 크기
- StringBuilder.Length : 문자열 길이### code -----------------------------------------------------------------------------
using System;
namespace ConsoleTest
{
class Class1
{
public static void Main(string[]args)
{
StringBuilder sb = new < /FONT > StringBuilder("I am a Boy", 18);
// StringBuilder Test
//가용량을 적어주지 않으면 기본 용량은 16이고, 기본 최대 용량은 Int32.MaxValueConsole.WriteLine(sb.ToString());
Console.WriteLine(sb.Length);
Console.WriteLine(sb.Capacity);
Console.WriteLine(sb.MaxCapacity);Console.WriteLine(sb.Insert(0,"삽입"));
Console.WriteLine(sb.Remove(0,2));
Console.WriteLine(sb.Append("추가문자열"));
Console.WriteLine(sb.Append(5000));
Console.WriteLine(sb.AppendFormat("{0,10}","end"));Console.WriteLine(sb[0]);
sb[0] = 'i';
Console.WriteLine(sb[0]);Console.WriteLine(sb.ToString().Replace(" ",""));
Console.WriteLine(sb.ToString().IndexOf("Boy"));
}
}
}### -------------------------------------------------------------------------------------
'.net' 카테고리의 다른 글
Machinekey - WebResource.axd (0) | 2011.04.07 |
---|---|
Microsoft.Jet.OLEDB.4.0 를 이용한 Excel 파일 읽기시 주의사항 (1) | 2010.07.09 |
C# Replace String Examples (0) | 2010.05.24 |
Microsoft MSDN 무료 기술 서적 (0) | 2010.05.24 |
페이지내 컨트롤 데이터를 QueryString으로 가져오는 코드 (0) | 2010.05.20 |