string字符串切割
时间: 2023-10-01 22:07:56 浏览: 62
要对string字符串进行切割,可以使用不同的方法。其中一种方法是使用C++中的Stringsplit()函数,该函数可以根据指定的分隔符将字符串分割成多个子字符串。如果想按照单个字符进行分割,可以使用字符分割的方式,如果想按照字符串进行分割,可以使用字符串分割的方式。具体代码如下:
// 使用字符分割
void Stringsplit(const string& str, const char split, vector<string>& res) {
if (str == "") return;
string strs = str + split;
size_t pos = strs.find(split);
while (pos != strs.npos) {
string temp = strs.substr(0, pos);
res.push_back(temp);
strs = strs.substr(pos + 1, strs.size());
pos = strs.find(split);
}
}
// 使用字符串分割
void Stringsplit(const string& str, const string& splits, vector<string>& res) {
if (str == "") return;
string strs = str + splits;
size_t pos = strs.find(splits);
int step = splits.size();
while (pos != strs.npos) {
string temp = strs.substr(0, pos);
res.push_back(temp);
strs = strs.substr(pos + step, strs.size());
pos = strs.find(splits);
}
}
另一种方法是使用Java中的substring()方法或者StringTokenizer类来切割字符串。substring()方法可以通过指定起始位置和子串长度来切割原字符串,而StringTokenizer类则可以按照指定的分隔符来切割字符串。具体代码如下:
// 使用substring方法切割字符串
public class Test {
public static void main(String[] args) {
String a = "1-1-1-1";
StringTokenizer result = new StringTokenizer(a, "-");
while(result.hasMoreTokens()){
System.out.println(result.nextToken());
}
}
}
上述代码会将字符串a按照"-"分隔成多个子字符串,并逐行打印出来。结果为:
1
1
1
1
总结起来,要对string字符串进行切割,可以使用C++的Stringsplit()函数或者Java的substring()方法或StringTokenizer类。具体选择哪种方法取决于编程语言和具体需求。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* [C++中string如何实现字符串分割函数split()——4种方法](https://blog.csdn.net/m0_58086930/article/details/122759927)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
- *3* [String字符串分割的3种方法 Java](https://blog.csdn.net/weixin_45428910/article/details/128586983)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]