'문자열'에 해당되는 글 3건

  1. 2018.11.07 C# 기초다지기 - 문자열 2
  2. 2018.08.20 자바 String 문자열 사용법 정리 1
  3. 2018.08.20 C++ String 문자열 사용법 정리

C# 기초다지기 - 문자열




안녕하세요 열코입니다.

이번 시간에는 C# 프로그래밍의 문자열에 대해 알아보도록 하겠습니다.

C#에서는 다른 언어에서와 마찬가지로 문자열을 문자배열(char[])로 사용할 수 있습니다.

하지만 C#에서 기본 제공하는 string 키워드를 사용하여 문자열 변수를 선언할 수도 있습니다.

string 키워드는 System.String 클래스에 포함되어있습니다.


1. String 객체 만들기

- C#에서 String 클래스의 객체를 만드는 방법은 여러가지가 존재합니다.

1) 문자열 리터럴(상수)를 String 변수에 할당

2) String 클래스 생성자 사용

3) 문자열 연결 연산자(+) 사용

4) 문자열 반환 메소드 호출

- 다음 예제 소스코드를 통해 위 방법에 대해 설명합니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
using System;
 
namespace MyStringApplication {
    class MyString {
        static void Main(string[] args) {
            string str1 = "HELLO";
            Console.WriteLine("str1 = {0}", str1);
            
            string str2 = new string("HELLO2");
            Console.WriteLine("str2 = {0}", str2);
            
            char[] letters = {'H''E''L''L''O''3');
            string str2_2 = new string(letters);
            Console.WriteLine("str2_2 = {0}", str2_2);
 
            string str3 = str1 + str2;
            Console.WriteLine("str3 = {0}", str3);
            
            string arr = {"HELLO""SEMOG""!!");
            string str4 = String.Join(" ", arr);
            Console.WriteLine("str4 = {0}", str4);
        }
    }
}
cs


- 출력 결과

str1 = HELLO

str2 = HELLO2

str2_2 = HELLO3

str3 = HELLOHELLO2

str4 = HELLO SEMOG !!


2. String 클래스 속성

- String 클래스에는 다음 두가지의 속성이 존재합니다.

1) Chars : 현재 String 객체의 지정된 위치에 있는 Char 객체를 반환합니다.

2) Length : 현재 String 객체의 문자 수(길이)를 반환합니다.


3. String 클래스 메소드

- String 클래스에는 문자열 객체를 작업하는데 도움이 되는 다양한 메소드(함수)들이 존재합니다.

- 다음 메소드들은 가장 일반적으로 사용되는 메소드들의 리스트입니다.

1) Compare()

1
public static int Compare(string srt1, string str2);
cs

- 두 String 객체를 비교하여 정렬 순서에 따라 상대위치를 나타내는 정수를 반환합니다.

- 정렬 순서는 ABC 순이며, 가장 앞 문자부터 비교합니다.

- str1이 str2 보다 정렬순서가 앞인 경우 : 음수(-1) 반환

- str1과 str2가 정렬순서가 동일한 경우 : 0 반환

- str1이 str2 보다 정렬순서가 뒤인 경우 : 양수(+1) 반환


2) Concat()

1
public static string Concat(string str1, string str2);
cs

- 두 문자열 객체를 연결하여 반환합니다.


3) Contains()

1
public bool Contatins(string str);
cs

- 문자열 내에서 지정된 String 객체가 존재하는지 여부를 나타내는 값을 반환합니다.


4) Copy()

1
public static string Copy(string str);
cs

- 지정된 문자열의 복사값으로 새 String 객체를 반환합니다.


5) Equals()

1
public static bool Equals(string str1, string str2);
cs

- 지정된 두 String 객체가 동일한지 여부를 반환합니다.


6) IndexOf()

1
public int IndexOf(char ch);
cs

- 현재 문자열에서 지정된 문자(유니코드)중 처음으로 나타나는 위치의 인덱스를 반환합니다.

- 매개변수가 문자열(string) 객체인 함수도 오버로딩되어있습니다.


7) Replace()

1
public string Replace(string str1, string str2);
cs

- 현재 문자열 객체에 있는 지정된 문자열을 모두 지우고 새로운 문자열로 변경한 문자열 객체를 반환합니다.


8) Split()

1
public string[] Split(params char[] seperator);
cs

- 현재 문자 배열 요소로 구분된 문자열 객체의 하위 문자열을 포함하는 문자열 배열을 반환합니다.

- 매개변수 기준으로 문자열을 쪼갠다고 생각하시면 됩니다.


9) Trim()

1
public string Trim();
cs

- 현재 String 객체에서 앞, 뒤 공백문자를 모두 제거합니다.

- 문자열 사이의 공백은 제거되지 않습니다.



이상 'C# 문자열'에 대해 알아보았습니다.

질문 사항은 모두 커뮤니티에서 받습니다. -> 커뮤니티 바로가기

메인 페이지로 이동하시면 더 많은 자료를 볼 수 있습니다.


'C#' 카테고리의 다른 글

C# 기초다지기 - 상속  (0) 2018.11.09
C# 기초다지기 - 클래스  (0) 2018.11.08
C# 기초다지기 - 구조체  (0) 2018.11.08
C# 기초다지기 - 배열  (1) 2018.11.06
C# 기초다지기 - 상수  (0) 2018.11.06
C# 기초다지기 - 캡슐화  (0) 2018.11.05
C# 기초다지기 - 프로그램 구조  (0) 2018.11.05
C# 기초다지기 - 변수  (0) 2018.11.05



안녕하세요 열코입니다.

이번 시간에는 자바에서 String(문자열) 사용법에 대해 알아보겠습니다.

자바에서 문자열 사용 시 자바에서 제공하는 String class를 참조합니다.



※ 선언 및 정의

⇒ 문자열을 사용하기 위해 String 객체를 선언하고 정의합니다.

선언 및 정의 방법은 여러 가지가 있으나 아래 예는 주로 사용되는 방법입니다.


사용법 1)


1
2
3
String str1;
 
str1 = "str1";
cs


사용법 2)


1
String str2 = "str2";
cs


사용법 3)


1
String str3 = new String("str3");
cs


사용법 4)


1
2
3
String str4 = new String();
 
str4 = "str4";
cs



※ length : 문자열의 길이

⇒ 해당 객체의 문자열 길이를 반환(int형) 합니다. (null은 포함하지 않음)


1
2
3
String str = "abcde";
 
System.out.println(str.length());  // 5 출력
cs




※ isEmpty : 문자열이 비어있는지 확인

⇒ 문자열의 길이(length)가 0이면 true 반환(boolean형), 0이 아니면 false를 반환합니다.


1
2
3
4
5
6
7
8
9
String str = new String();
 
if(str.isEmpty())  // "empty" 출력
 
     System.out.println("empty");
 
else
 
     System.out.println("not empty");
cs



※ charAt : 문자 반환

⇒ 문자열 중 해당 인덱스의 문자(char형)를 반환합니다.(인덱스는 0 ~ 문자열의 길이(length) -1)


1
2
3
String str = new String("abcd");
 
System.out.println(str.charAt(2));  // 'c' 출력
cs



※ getChars : 문자 배열 복사

⇒ 문자열을 문자(char) 배열로 복사합니다.


1
2
3
4
5
6
7
String str = new String("abcd");
 
char [] ch = new char[4];
 
str.getChars(02, ch, 0); // 시작 인덱스, 끝 인덱스, 복사 받을 char 배열 이름, 복사 시작 위치
 
System.out.println(ch);  // "ab" 출력
cs



※ equals : 문자열 비교

⇒ 해당 문자열과 매개변수의 문자열이 같은 지 비교하여 true 또는 false를 반환합니다.(boolean형)


1
2
3
4
5
6
7
8
9
10
11
String str = new String("abcd");
 
String str2 = new String("abc");
 
if(str.equals(str2))  // "not equal" 출력
 
     System.out.println("equal");
 
else
 
     System.out.println("not equal");
cs


(자바에서 문자열 비교를 ==연산자로 비교할 수 없습니다!)



※ compareTo : 문자열 비교(사전 순으로 대소 비교)

⇒ 해당 문자열과 매개변수의 문자열을 사전 순으로 비교합니다.


1
2
3
4
5
String str = new String("aaa");
 
String str2 = new String("bbb");
 
System.out.println(str.compareTo(str2)); // -1 출력
cs


반환값 : 

str과 str2의 같을 경우 : 0

str이 str2보다 사전 순으로 앞인 경우 : -1

str이 str2보다 사전 순으로 뒤인 경우 : 1

* str의 마지막 문자열과 str2의 마지막 문자를 제외하고 같은 경우

예 ) String str = new String("ccca");

       String str2 = new String("cccz");

       str과 str2의 마지막 문자열을 비교하여 사전 순 차이만큼 반환 : -25



※ indexOf : 문자열 위치

⇒ 해당 문자열이 위치하는 인덱스를 반환합니다.(int형)


1
2
3
String str = new String("abcd");
 
System.out.println(str.indexOf("c")); // 2 출력
cs


(해당 문자열이 존재하지 않으면 -1을 반환합니다.)



※ lastIndexOf : 문자열 마지막 위치

⇒ 해당 문자열이 마지막으로 위치하는 인덱스를 반환합니다.(int형)


1
2
3
String str = new String("abcdeabcda");
 
System.out.println(str.lastIndexOf("c")); // 7 출력
cs



※ subString : 문자열 자르기

⇒ 해당 문자열의 인덱스만큼 잘라서 반환합니다.(String형)


1
2
3
4
5
String str = new String("abcdefg");
 
System.out.println(str.substring(26)); // "cdef" 출력
 
System.out.println(str.substring(5)); // "fg" 출력
cs


(매개 변수가 2개인 경우 : 해당 범위만큼 자름, 1개인 경우 : 앞에서부터 인덱스만큼 자름)



※ concat : 문자열 합치기

⇒ 해당 문자열 뒤에 매개변수 문자열을 서로 합칩니다


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
String str = new String("a");
 
String str2 = new String("b");
 
String str3 = new String();
 
 
 
str3 = str.concat(str2);
 
String str4 = str+str2; // concat과 같은 동작
 
 
 
System.out.println(str3); // "ab" 출력
 
System.out.println(str4); // "ab" 출력
cs



※ replace : 문자열 치환 

⇒ 해당 문자를 찾아 다음 문자로 변경합니다.


1
2
3
4
5
String str = new String("abc");
 
str = str.replace('b''k');
 
System.out.println(str); // "akc" 출력
cs



※ contains : 문자열 포함

⇒ 해당 문자열이 포함되어 있는지 확인합니다. 포함할 경우 true, 아닌 경우 false 반환(boolean형)


1
2
3
4
5
6
7
8
9
String str = new String("abc");
 
if(str.contains("bc")) // "contain" 출력
 
     System.out.println("contain");
 
else
 
     System.out.println("not contain");
cs



※ split : 문자열 분리

⇒ 문자열을 해당 문자열을 기준으로 모두 분리합니다.(String [] 반환)


1
2
3
4
5
6
7
8
9
10
11
String str = new String("a b c d e f");
 
String[] str2 = new String[6];
 
for(int i = 0; i < 6; i++
 
     str2[i] = str.split(" ")[i]; 
 
for(int i = 0; i < 6; i++
 
     System.out.print(str2[i]); // abcdef 출력
cs



※ trim : 문자열 공백 제거

⇒ 해당 문자열의 앞, 뒤의 공백을 모두 제거합니다.(문자열 사이의 공백은 제거되지 않음)


1
2
3
4
5
String str = new String(" a b c ");
 
String str2 = str.trim();
 
System.out.println(str2); // "abc" 출력
cs



아래 두 메소드는 Integer class의 메소드입니다. 

자바에서 주로 사용하는 int to String, String to int 변환 방법입니다.


※ toString : int to String

⇒ int형 변수를 String 객체로 변환


1
2
3
4
5
6
7
String str = new String("100");
 
int value = 200;
 
String sum = str + Integer.toString(value);
 
System.out.println(sum); // 100200 출력
cs



※ parseInt : String to int 

⇒ String 객체를 int형 변수로 변환


1
2
3
4
5
6
7
String str = new String("100");
 
int value = 200;
 
int sum = Integer.parseInt(str) + value;
 
System.out.println(sum); // 300 출력
cs




이상 '자바 문자열 사용법'에 대해 알아보았습니다.

질문 또는 오타나 잘못된 정보가 있는 경우 댓글로 달아주세요!

공감♡ 버튼을 눌러주시면 더욱 유용하고 좋은 포스팅으로 찾아 뵙겠습니다.






♣ string 헤더파일을 include 해준다. 

    #include <string> ← 추가!


※ append : 문자열 추가 

⇒ 추가 하고자 하는 문자열이 기존 문자열 뒤에 추가됨.

사용법 : str.append("문자열");

* str += "문자열"; 또는 str = str + "문자열"; 도 같은 원리로 작동합니다.


※ assign : 문자열 대입

⇒ 해당 변수에 문자열을 할당.(변수 정의와 같음)

사용법 : str.assign("문자열");

* str = "문자열" 도 같은 원리로 작동합니다.


※ clear : 문자열 삭제

⇒ 해당 변수의 문자열을 삭제한다.

사용법 : str.clear();


※ compare : 문자열 비교

⇒ 해당 변수와 입력 된 문자열을 비교한다.

사용법 : str.compare(str2);

반환값 : str == str2 이면 0 반환 / str > str2 이면 1 반환 / str < str2 이면 -1 반환

(여기서 str > str2 는 대소 비교가 아니라 사전순으로 비교해서 앞, 뒤를 의미)


※ erase : 문자열 삭제

⇒ 해당 변수의 문자열을 삭제한다.(범위 지정 가능)

사용법 : str.erase(시작 위치, 끝 위치); 또는 str.erase(); 

(시작 위치와 끝 위치를 지정해주면 해당 범위의 인덱스의 문자열이 삭제된다. 매개변수 없이 호출하면 clear와 같은 동작)


※ find : 문자 위치 검색

⇒ 해당 변수의 문자열 중 검색하려는 문자의 위치를 반환.

사용법 : str.find('문자');


※ length : 문자열 길이

⇒ 해당 변수의 문자열의 길이를 반환.

사용법 : str.length();

(문자열의 길이는 null을 포함하지 않는다.)


※ to_string : int to string

⇒ int 변수를 string 변수로 변환 

사용법 : string str = to_string(정수)


※ atoi : string to int

⇒ string 변수를 int 변수로 변환

사용법 : int i = atoi(str.c_str());

(atoi 매개변수 인자가 char*이므로 c_str() 함수를 사용하여 변환 해 주어야 함)


※ reverse : 문자열 뒤집기

⇒ 문자열을 역순으로 뒤집는다.

사용법 : 

string s = "abc";

reverse(s.begin(), s.end()); // "cba" 출력




오타나 질문사항은 댓글로 달아주세요!

'C, C++' 카테고리의 다른 글

C/C++ 구조체 사용법 및 예제  (1) 2018.10.08
C/C++ 배열 사용법  (0) 2018.10.05
C 파일처리  (0) 2018.10.02
C++ 벡터 사용법  (2) 2018.09.26
C언어 포인터  (8) 2018.09.25
C++ 자바 상속 비교  (0) 2018.09.08
C 랜덤 - 난수 생성하기  (7) 2018.09.06
[C++] C# 연동하기 / C# dll 파일 만들기  (1) 2018.08.18

to Top