void main() {
var name = 'shin';
var greeting = 'hello everyone, my name is $name, nice to meet you!';
print(greeting);
}void main() {
var name = 'shin';
var age = 26;
var greeting = 'hello everyone, my name is $name, and I\'m ${age+1}';
print(greeting);
} print('${user} is ${age} years old.');length: 문자열의 길이 (공백문자 포함)isEmpty: 빈 문자열일 경우 참isNotEmpty: 빈 문자열이 아닐 경우 참codeUnits:문자열의 UTF-18 문자 코드 const s1 = 'Hi';
const s2 = '';
print(s1.length); // 2
print(s2.length); // 0
print(s1.isEmpty); // false
print(s2.isEmpty); // true
print(s1.isNotEmpty); // true
print(s2.isNotEmpty); // false
print(s1.codeUnits); // [72, 105]
print(s2.codeUnits); // []
String name = 'John';
String message = "Hello, world!";String firstName = 'John';
String lastName = 'Doe';
String fullName = firstName + ' ' + lastName;String name = 'John';
'Hello, ${name}!'
//'Hello, John!'String text = 'Hello, world!';
int length = text.length;
// 를 사용하여 문자열의 길이를 얻을 수 있다.contains()String text = 'Hello, world!';
bool contains = text.contains('world');replaceAll()String text = 'Hello, world!';
String replacedText = text.replaceAll('world', 'Dart');
//를 사용하여 'Hello, Dart!'로 문자열을 대체할 수 있다.creplaceFirst(), replaceFirstMapped()String text = 'Hello, world!';
String replacedText = text.replaceFirst('world', 'Dart');
String replacedText = text.replaceFirstMapped('world', (match) => 'Dart');
//를 사용하여 첫 번째로 검색되는 'world'를 'Dart'로 대체할 수 있다.compareTo()String text1 = 'apple';
String text2 = 'banana';
int result = text1.compareTo(text2);
//를 사용하여 두 문자열을 비교할 수 있다.isEmpty(), isNotEmpaty()String text = '';
bool empty = text.isEmpty;
//와 같이 문자열이 비어있는지를 확인할 수 있다.parse()String number = '10';
int value = int.parse(number);
//와 같이 문자열을 정수로 변환할 수 있습니다.format()substring(),substring(): const string = 'dartlang';
print(string.substring(1)); // 'artlang'
print(string.substring(1, 4)); // 'art'
String text = 'Hello, world!';
String part = text.substring(7, 12);
//를 사용하여 world를 추출할 수 있다. const string = 'Dartisans';
print(string.indexOf('Da')); // 0
print(string.indexOf('art')); // 1
print(string.indexOf('sans')); // 5
indexOf()indexOf(): 문자열에서 주어진 문자열의 위치 인덱스값을 반환한다.final String s1 = 'hello dart';
print(s1.indexOf('h'));
print(s1.indexOf('dart'));split(), const s = 'root:*:0:0:System Administrator:/var/root:/bin/sh';
const words = s.split(':'); // 문자열을 주어진 문자로 쪼개 나눈다.
print(words); // [root, *, 0, 0, System Administrator, /var/root, /bin/sh]
const t = words.join('.'); // 문자열의 리스트를 주어진 문자로 연결한다.
print(t); // root.*.0.0.System Administrator./var/root./bin/sh
split():String text = 'Hello, world!';
List< String > parts = text.split(', ');
//를 사용하여 ,와 공백을 기준으로 문자열을 분할할 수 있다.join()join(): 문자열 리스트를 주어진 문자로 연결하여 반환한다.join() 메소드는 사실 리스트의 메소드이다.)trim(), trimLeft(), trimRight() const s = ' Hello, world! ';
print('[${s.trim()}]'); // [Hello, world!]
print('[${s.trimLeft()}]'); // [Hello, world! ]
print('[${s.trimRight()}]'); // [ Hello, world!]
trim(): 문자열의 좌우 공백을 모두 제거하여 반환한다.trimLeft(): 문자열의 왼쪽 공백을 제거하여 반환한다.trimRight(): 문자열의 오른쪽 공백을 제거하여 반환한다.padLeft(), padRight()const string = 'D';
print(string.padLeft(4)); // ' D'
print(string.padLeft(2, 'x')); // 'xD'
print(string.padLeft(4, 'y')); // 'yyyD'
print(string.padLeft(4, '>>')); // '>>>>>>D'
print(string.padRight(4)); // 'D '
print(string.padRight(2, 'x')); // 'Dx'
print(string.padRight(4, 'y')); // 'Dyyy'
print(string.padRight(4, '>>')); // 'D>>>>>>'
padLeft(): 왼쪽으로 주어진 문자를 갯수만큼 채운다. 문자를 지정하지 않으면 빈 문자열로 채운다.padRight(): 오른쪽으로 주어진 문자를 갯수만큼 채운다. 문자를 지정하지 않으면 빈 문자열로 채운다.startsWith(), endsWith() const string = 'Dart is open source';
print(string.startsWith('Dar')); // true
print(string.startsWith('art', 0)); // false
print(string.startsWith('art', 1)); // true
print(string.endsWith('urce')); // true
toUpperCase(), toLowerCase()String text = 'Hello, world!';
String lowerCaseText = text.toLowerCase();
String upperCaseText = text.toUpperCase();
//를 사용하여 문자열을 소문자 또는 대문자로 변환할 수 있다. const s = 'Hi, pincoin!';
print(s.toUpperCase()); // HI, PINCOIN!
print(s.toLowerCase()); // hi, pincoin!
toUpperCase(): 주어진 문자열을 모두 대문자로 바꿔 반환한다.toLowerCase(): 주어진 문자열을 모두 소문자로 바꿔 반환한다.