[Dart] String (문자열) 조작

AsherKim·2023년 5월 31일
0

플러터 TIL

목록 보기
15/18

Dart에서는 문자열을 조작하고 다양한 작업을 수행하기 위한 다양한 문법과 메서드를 제공한다. 다음은 Dart에서 문자열 조작에 유용한 몇 가지 기능에 대한 설명이다.

String 생성: Dart에서는 작은 따옴표 (') 또는 큰 따옴표 (")로 둘러싸인 문자열 리터럴을 사용하여 문자열을 생성할 수 있다.

String name = 'John';
String message = "Hello, world!";

String 연결: 문자열을 연결하기 위해 + 연산자를 사용할 수 있다.

String firstName = 'John'; 
String lastName = 'Doe'; 
String fullName = firstName + ' ' + lastName;

String interpoloation: 문자열 보간(interpolation)을 사용하면 문자열 내에서 변수나 표현식을 쉽게 삽입할 수 있다. 문자열 보간은 ${} 안에 변수나 표현식을 넣는 방식으로 작성된다.

String name = 'John';
'Hello, ${name}!'
//'Hello, John!'

String Length: 문자열의 길이를 알고 싶을 때는 length 속성을 사용한다.

String text = 'Hello, world!';
int length = text.length;
// 를 사용하여 문자열의 길이를 얻을 수 있다.

String Split: 문자열을 특정 구분자를 기준으로 분할할 수 있다. split() 메서드를 사용하여 문자열을 분할하고 결과를 리스트로 반환할 수 있다.

String text = 'Hello, world!';
List< String > parts = text.split(', ');
//를 사용하여 ,와 공백을 기준으로 문자열을 분할할 수 있다.

subString: 문자열에서 일부분을 추출하기 위해 substring() 메서드를 사용할 수 있다. 이 메서드는 시작 인덱스와 종료 인덱스를 지정하여 원하는 부분 문자열을 추출한다.

String text = 'Hello, world!';
String part = text.substring(7, 12);
//를 사용하여 world를 추출할 수 있다.

문자열 검색: 문자열 내에서 특정 패턴을 검색하기 위해 contains() 메서드를 사용할 수 있다. 이 메서드는 문자열이 특정 패턴을 포함하는지 여부를 반환한다.

String text = 'Hello, world!';
bool contains = text.contains('world');

문자열 대체: 문자열 내에서 특정 패턴을 다른 값으로 대체하기 위해 replaceAll() 메서드를 사용할 수 있다. 이 메서드는 첫 번째 매개변수로 대체할 패턴을, 두 번째 매개변수로 대체할 값을 받는다.

String text = 'Hello, world!';
String replacedText = text.replaceAll('world', 'Dart');
//를 사용하여 'Hello, Dart!'로 문자열을 대체할 수 있다.


문자열 검색 및 대체
: 문자열 내에서 특정 패턴을 검색하고 이를 다른 값으로 대체하기 위해 replaceFirst() 또는 replaceFirstMapped() 메서드를 사용할 수 있다. replaceFirst() 메서드는 첫 번째 매개변수로 검색할 패턴을, 두 번째 매개변수로 대체할 값을 받는다. replaceFirstMapped() 메서드는 첫 번째 매개변수로 검색할 패턴을, 두 번째 매개변수로 대체할 값을 생성하는 함수를 받는다.

String text = 'Hello, world!';
String replacedText = text.replaceFirst('world', 'Dart');
String replacedText = text.replaceFirstMapped('world', (match) => 'Dart');
//를 사용하여 첫 번째로 검색되는 'world'를 'Dart'로 대체할 수 있다.

문자열 대소문자 변환: 문자열을 대소문자로 변환하기 위해 toLowerCase() 및 toUpperCase() 메서드를 사용할 수 있다. toLowerCase() 메서드는 문자열의 모든 문자를 소문자로 변환하고, toUpperCase() 메서드는 문자열의 모든 문자를 대문자로 변환한다.

String text = 'Hello, world!';
String lowerCaseText = text.toLowerCase();
String upperCaseText = text.toUpperCase();
//를 사용하여 문자열을 소문자 또는 대문자로 변환할 수 있다.

문자열 비교: 문자열을 비교하기 위해 compareTo() 메서드를 사용할 수 있다. 이 메서드는 두 개의 문자열을 비교하고 결과를 반환한다. 비교 결과에 따라 음수, 양수 또는 0을 반환하며, 문자열이 작은지, 큰지 또는 동일한지를 나타낸다.

String text1 = 'apple';
String text2 = 'banana';
int result = text1.compareTo(text2);
//를 사용하여 두 문자열을 비교할 수 있다.

문자열 확인: 문자열이 비어있는지 또는 공백으로만 이루어져 있는지 확인하기 위해 isEmpty 및 isNotEmpty 속성을 사용할 수 있다. isEmpty는 문자열이 비어있는지 여부를 확인하고, isNotEmpty는 문자열이 비어있지 않은지를 확인한다.

String text = '';
bool empty = text.isEmpty;
//와 같이 문자열이 비어있는지를 확인할 수 있다.

문자열 변환: 문자열을 다른 타입으로 변환하기 위해 int.parse() 또는 double.parse() 메서드를 사용할 수 있다. 이 메서드는 문자열을 정수나 실수로 변환한다. 변환할 수 없는 문자열을 변환하려고 하면 예외가 발생할 수 있다.

String number = '10';
int value = int.parse(number);
//와 같이 문자열을 정수로 변환할 수 있습니다.

문자열 형식화: 문자열을 특정 형식에 맞게 형식화하기 위해 String.format() 메서드를 사용할 수 있다. 이 메서드는 형식 지정자를 사용하여 문자열 내에서 변수를 대체할 수 있는 기능을 제공한다. Hello, %s와 같은 문자열 내에서 %s는 문자열로 대체될 변수를 나타낸다. 이를 사용하여 특정 값을 문자열 내에 삽입할 수 있다.

코드 예시👀

String name = 'John';
String message = 'Hello, $name!'; // 문자열 보간
print(message); // 출력: Hello, John!

String text = 'Hello, world!';
print(text.length); // 출력: 13

String text = 'Hello, world!';
List<String> parts = text.split(', ');
print(parts); // 출력: [Hello, world!]

String text = 'Hello, world!';
String part = text.substring(7, 12);
print(part); // 출력: world

String text = 'Hello, world!';
String replacedText = text.replaceAll('world', 'Dart');
print(replacedText); // 출력: Hello, Dart!

String text = 'Hello, world!';
String replacedText = text.replaceFirst('world', 'Dart');
print(replacedText); // 출력: Hello, Dart!

String text = 'Hello, world!';
String lowerCaseText = text.toLowerCase();
String upperCaseText = text.toUpperCase();
print(lowerCaseText); // 출력: hello, world!
print(upperCaseText); // 출력: HELLO, WORLD!

String text1 = 'apple';
String text2 = 'banana';
int result = text1.compareTo(text2);
print(result); // 출력: -1 (알파벳 순서에서 'apple'은 'banana'보다 작음)

String text = '';
bool empty = text.isEmpty;
print(empty); // 출력: true

String number = '10';
int value = int.parse(number);
print(value); // 출력: 10
profile
추리를 좋아하는 개발자

0개의 댓글