검색결과 리스트
글
- 문자열의 선언
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 클래스의 인스턴스 메서드
|
클래스 참조 반환 |
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.MaxValue - Console.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"));
}
}
}
'ETC' 카테고리의 다른 글
[JAVA]compareTo 를 이용한 String비교 (0) | 2013.01.15 |
---|---|
[ETC] SSD USB 설치시 오류 (0) | 2012.11.13 |
이클립스 디버깅 Tip (0) | 2012.08.03 |
이클립스 테마 플러그인하는 방법!(컬러&폰트) (0) | 2012.06.15 |
이클립스 폰트 설정. (0) | 2012.06.15 |
RECENT COMMENT