string对象的编程操作代码
时间: 2024-03-18 20:42:28 浏览: 19
除了基本编程操作,string对象还有一些更高级的编程操作,下面介绍一些常用的:
1. 将string对象中的所有字符转换为大写或小写:
```
string str = "Hello, World!";
transform(str.begin(), str.end(), str.begin(), ::toupper); // str = "HELLO, WORLD!"
transform(str.begin(), str.end(), str.begin(), ::tolower); // str = "hello, world!"
```
2. 去掉string对象中的空格:
```
string str = " Hello, World! ";
str.erase(remove_if(str.begin(), str.end(), ::isspace), str.end()); // str = "Hello,World!"
```
3. 将string对象中的数字转换为整数:
```
string str = "123";
int num = stoi(str); // num = 123
```
4. 将string对象中的数字转换为浮点数:
```
string str = "3.14";
float num = stof(str); // num = 3.14
```
5. 将整数或浮点数转换为string对象:
```
int num = 123;
string str = to_string(num); // str = "123"
float num = 3.14;
string str = to_string(num); // str = "3.140000"
```
6. 将string对象中的字符按照指定的分隔符分割成字符串数组:
```
string str = "apple,banana,orange";
vector<string> result;
stringstream sstream(str);
string item;
while (getline(sstream, item, ',')) {
result.push_back(item);
}
// result = {"apple", "banana", "orange"}
```
7. 将字符串数组按照指定的分隔符连接成一个string对象:
```
vector<string> arr = {"apple", "banana", "orange"};
string str = "";
for (int i = 0; i < arr.size(); i++) {
str += arr[i];
if (i != arr.size() - 1) {
str += ",";
}
}
// str = "apple,banana,orange"
```