12.August.2023

정제로·2023년 8월 12일
1

C#

목록 보기
13/30

검색 관련 메서드

IndexOf / LastIndexOf / Contains

IndexOf :

입력된 값이 문자열에서 몇번째에 있는지 번호 출력
(몇번째에 해당 문자열이 존재하는지)(존재하지 않으면 -1 반환)

LastIndexOf :

입력된 값이 문자열에 여러개 존재하더라도 가장 마지막에 있는 값을 포함하는 문자열의 번호 출력 (존재하지 않으면 -1)

Contains :

입력된 값이 존재하는지 확인(bool값으로 받음)

using System;

namespace CheckString
{
    class Program
    {
        static void Main(string[] args)
        {

            string nameClassCityTime = "홍길동, 3학년2반, 서울시, 1시";

            //해당 문자열의 인덱스 번호 출력
            //문자열의 첫번째 글자의 인덱스 번호를 출력한다고 생각하면됨
            int index = nameClassCityTime.IndexOf("3학년2반"); // index = 5

            //존재하지 않는 경우 -1 출력
            int index2 = nameClassCityTime.IndexOf("경기도"); // index = -1
            

            //가장 마지막에 있는 문자열의 인덱스 번호 출력
            //중복일 경우 가장 마지막 선택
            //서울'시, 1'시', 2개지만, 1'시'의 인덱스 번호 출력
            int Lindex = nameClassCityTime.LastIndexOf("로"); //Lindex = 12

            //존재여부를 확인함
            bool yes = nameClassCityTime.Contains("서울시"); // yes = true
            bool no = nameClassCityTime.Contains("경기도"); // no = false            

        }
    }
}

대체 메서드

Replace

using System;
using System.Text;

public class boj
{
    public static void Main()
    {
        string A1 = "ABCDEFG";
        string A2 = "";
        A2 = A1.Replace("CD", "ㅋㅋ");
        Console.WriteLine($"A1 : {A1}");
        Console.WriteLine($"A2 : {A2}");

        //A1 : ABCDEFG
        //A2 : ABCㅋㅋFG

        string B1 = "AB CD EF";
        string B2 = "";
        B2 = B1.Replace(" ", "");
        Console.WriteLine($"B1 : {B1}");
        Console.WriteLine($"B2 : {B2}");

        //B1 : AB CD EF
        //B2 : ABCDEF
    }
}

이와같이 인자값을 변경해준다.
빈칸도 없앨수 있다.


문자열 포맷팅

using System;
using System.Text;

public class boj
{
    public static void Main()
    {
        string A1 = "ABCDEFG";
        string formating = 
            string.Format("알파벳의 시작은 {0}... 으로 시작된다", A1);
        Console.WriteLine(formating);
    }
}

이런식으로 값이 필요한 부분에 {0}, {1} 과같이 입력하고, 두번째 인자값으로 변수를 넣어주면 된다.

profile
초보자입니다.. 잘못된 정보, 달게 받겠습니다..

0개의 댓글

관련 채용 정보