반응형
자바 11에서 String 추가된 메서드 중 strip()과 기존에 있던 trim()이 뭐가 다른지 찾아봤다.
---
답
정리 )
- String::trim() : ' '만 제거
- String::strip() : whitespace 모두 제거 ( ex - \t )
반응형
자바 11에서 String 추가된 메서드 중 strip()과 기존에 있던 trim()이 뭐가 다른지 찾아봤다.
---
답
정리 )
- String::trim() : ' '만 제거
- String::strip() : whitespace 모두 제거 ( ex - \t )
문자열을 표현하는 객체
#include <iostream>
#include <string>
using namespace std;
int main(){
string s0("string"); // string
string s1; //
string s2(s0); // string
string s3(s0, 2, 3); // rin
string s4("abcdefg", 4); // abcd
string s5(5, 'A'); // AAAAA
string s6(s0.begin(), s0.begin()+3); // str
}
#include <iostream>
#include <string>
using namespace std;
int main(void){
string str("Test string");
for(string::iterator it = str.begin(); it != str.end(); ++it)
cout << *it;
cout << endl;
// Test string
for(string::reverse_iterator rit = str.rbegin(); rit != str.rend(); ++rit)
cout << *rit;
cout << endl;
// gnirts tseT
return 0;
}
#include <iostream>
#include <string>
using namespace std;
int main(void){
string str("Test string");
cout << str.size() << endl;
// 11
cout << str.length() << endl;
// 11
cout << str.max_size() << endl;
// 1073741823
str.resize(str.size()+2, '!');
cout << str << endl;
// Test string!!
str.resize(4);
// Test
cout << str.capacity() << endl;
// 15
}
#include <iostream>
#include <string>
using namespace std;
int main(void){
string str("Test string");
int len = str.length();
for(int i = 0; i < len; ++i)
cout << str[i];
cout << endl;
// Test string
for(int i = 0; i < len; ++i)
cout << str.at(i);
cout << endl;
// Test string
cout << str.front() << endl;
// g
cout << str.back() << endl;
// T
}
#include <iostream>
#include <string>
using namespace std;
int main(void){
string alpha("abcde");
string number("12345");
number += "678";
number += alpha;
cout << number << endl;
// 12345678abcde
string str;
string str2="abcde";
string str3="12345";
str.append(str2); // abcde
str.append(str3, 2, 2); // abcde34
str.append(" ABCDE", 3); // abcde34 AB
str.append(10, '.'); // abcde34 AB.....
alpha.push_back('f');
// abcdef
number.pop_back();
// 1234567
str.assign(str2);
// abcde
str.assign(str3, 3, 2);
// 45
str.assign("ABCDE", 3);
// ABC
str.assign(5, '!');
// !!!!!
str.assign(number.begin()+1, number.end()-1);
// 23456
str.insert(3, "abc");
// 234abc56
string::iterator it = str.insert(str.begin()+2, ' ');
// 23 4abc56
str.insert(it+3, str3.begin(), str3.begin()+2);
// 23 4aABbc56
str.erase(2, 4);
// 23Bbc56
str.erase(str.begin()+3, str.begin()-2);
// bc
str.assign(str2);
// abcde
str.replace(2, 2, str3);
// ab12345e
str.replace(str.begin()+1, str.begin()+3, "ABCDE");
// aABCDE2345e
str.replace(str.begin(), str.end()-2, "zxcv", 2);
// zx5e
str.replace(str.begin()+2, str.end(), 4, '!');
// zx!!!!
cout << str2 << ' ' << str3 << endl;
// abcde 12345
str2.swap(str3);
cout << str2 << ' ' << str3 << endl;
// 12345 abcde
return 0;
}
#include <iostream>
#include <cstring>
#include <string>
using namespace std;
int main(void){
string str("qwertyuiop asdfghjkl zxcvbnm");
char *cstr = new char[str.length()+1];
strcpy(cstr, str.c_str());
char *p = strtok(cstr, " ");
while(p != 0){
cout << p << '\n';
p = strtok(NULL, " ");
}
// qwertyuiop
// asdfghjkl
// zxcvbnm
delete[] cstr;
char buffer[20];
string str1("Test string");
int len = str1.copy(buffer, 6, 5);
buffer[len] = 0;
cout << buffer << '\n';
// string
string str2("abcde");
string str3 = str2.substr(2, 2);
cout << str3 << '\n';
// cd
return 0;
}
[C++] STL - queue (0) | 2020.12.21 |
---|---|
[C++] 반복자 (0) | 2020.12.01 |
[C++] cout 부동소수점 다루기 (0) | 2020.11.20 |
[C++] STL - deque (0) | 2020.11.13 |
[C++] STL - stack (0) | 2020.10.28 |