boost 字符串分割 split, split_regex

以多个字符中的任意一个分割(is_any_of),直接上代码:

#include <boost/algorithm/string.hpp>
#include <iostream>
#include <string>
#include <vector>

using namespace std;
using namespace boost;

int main()
{
    string str1("hello abc-*-ABC-*-aBc goodbye");
    vector<string> SplitVec; 
    // is_any_of 表示其中任何一个 字符 都可以作为分隔符, - 或者 *
    // token_compress_on 表示去掉字符串两端分割出来的空的token,默认是token_compress_off
    split(SplitVec, str1, is_any_of("-*"), token_compress_on)
    return 0;
}

如果分隔符不是字符而是字符串或者多个字符,则:

#include <boost/regex.hpp>
#include <boost/algorithm/string/regex.hpp>
#include <iostream>
#include <string>
#include <vector>

using namespace std;
using namespace boost;

int main()
{
  string s = "one->two->thirty-four";
  vector <string> fields;
  split_regex( fields, s, regex( "->" ) );
  return 0;
}
// 编译的时候记得加上libboost_regex:
// target_link_libraries(xxx boost_regex)
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Java中的String类有一个split()方法,可以用来将字符串按照指定的分隔符进行分割。使用方法如下: str.split(regex) 其中,str是要分割字符串regex是分隔符的正则表达式。例如: String str = "apple,banana,orange"; String[] fruits = str.split(","); 这样,fruits数组就会包含字符串"apple","banana","orange"。 注意:如果regex是一个空字符串(""),那么将会把字符串分割成每个字符一个元素的数组。 ### 回答2: Java中的String类提供了一个分割字符串的方法——split。通过split方法,我们可以把一个字符串按照指定的分隔符进行分割,得到一个字符串数组。 split方法的基本语法是:String[] split(String regex)。其中,regex表示分隔符的正则表达式,可以是一个字符串或者一个正则表达式。这个方法的返回值是一个字符串数组,包含了使用指定分隔符分割后的所有字符串。 在使用split方法时,需要注意以下几点: 1.分隔符可以是任意的字符或字符串,包括空白字符、数字、字母、符号等等。 2.如果分隔符是一个字符串,需要用反斜杠“\”进行转义,例如split("\\|")表示以竖线“|”为分隔符进行分割。 3.如果分隔符是一个正则表达式,需要使用正则表达式的语法规则进行书写,例如split("\\s+")表示以一个或多个空格为分隔符进行分割。 4.如果原始字符串中不存在分隔符,则返回一个只包含原始字符串字符串数组。 5.如果原始字符串以分隔符结尾,则返回一个包含空字符串的最后一个元素。 6.如果连续使用分隔符,则返回一个包含空字符串的元素。 总之,Java的split方法是一个简单实用的字符串分割工具,能够方便地对字符串进行分割操作。我们在实际编程中可以根据需要选择合适的分隔符和正则表达式,来实现字符串的有效拆分。 ### 回答3: Java中的String类提供了split()方法,用于在字符串中搜索特定的字串,并根据搜索结果分离原始字符串字符串数组。这是Java语言中一种非常有用的字符串操作技术,可以使处理很大的字符串变得更加容易。在这里,我将详细介绍split()方法的一些使用场景以及它的一些基本用法。 split()方法需要一个参数作为分割 字符或正则表达式(Regex)。如果该参数为空,则字符串不会被分割,并返回长度为1的字符串数组。在指定分隔符时,该字符串被解释成一个正则表达式。所以,如果使用字符串 .(点)作为分隔符,需要使用反斜杠(\)进行转义。例如,以下代码将使用点作为分隔符将字符串分割String str = "apple,banana,cake"; String[] arrOfStr = str.split("\\."); 在这个例子中,字符串分割成3个字符串"apple","banana"和"cake",因为逗号(,)是分割字符串的标记。 Java split()方法中传递正则表达式 \s (一个空格字符)作为分隔符时,此方法将在所有空格字符处将字符串分割,包括空格,换行符(\n)和制表符(\t)。 String str = "This is an example"; String[] arrOfStr = str.split("\\s"); 在这个例子中,字符串分割为4个字符串,即"This","is","an"和"example"。在这个例子中,由于空格字符是分隔符,所以全部都被忽视了。 Java split()方法还可以使用正则表达式来分割字符串。正则表达式语言是用于匹配字符串语言的一个标准技术。在Java中,可以轻松地使用正则表达式来处理字符串。例如,以下代码使用正则表达式将字符串分割成三个字符串String str = "Java split() method \n examples!"; String[] arrOfStr = str.split("\\W+"); 在这个例子中,正则表达式 \W+指定非字母数字(例如空格,标点符号)作为分隔符。所以,字符串分割成3部分:Java、split()method和examples!。 总之,在Java中使用split()方法分割字符串是非常有用的。你只需要通过一些简短的代码使用分隔符或正则表达式来分割字符串。所以,如果你想处理字符串split()方法提供了一种非常简单和高效的解决方案。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值