- 本篇文章讲讲Boost库中String_Algorithm_Library常用的那些接口
- 参考
概述
<boost/algorithm/string/case_conv.hpp>
:提供字符串大小写转换函数,包括to_lower()
、to_upper()
、to_title()
、to_lower_copy()
、to_upper_copy()
和to_title_copy()
。<boost/algorithm/string/classification.hpp>
:提供用于判断字符分类的函数对象,如is_any_of
、is_alpha
、is_digit
、is_space
等。<boost/algorithm/string/compare.hpp>
:提供字符串比较函数,包括is_equal()
、ilexicographical_compare()
、iless()
和ilexicographical_compare()
。<boost/algorithm/string/concept.hpp>
:定义了用于实现字符串算法及其特征的概念、标准化和接口文档。<boost/algorithm/string/constants.hpp>
:定义一些与字符串算法相关的常量,如空格字符、单引号、双引号等。<boost/algorithm/string/erase.hpp>
:提供字符串删除函数,包括erase_first()
、erase_nth()
和erase_all()
。<boost/algorithm/string/find.hpp>
:提供字符串查找函数,包括find_first()
、find_last()
、find_nth()
和find_all()
。<boost/algorithm/string/find_format.hpp>
:提供字符串查找并替换函数,包括replace_first()
、replace_last()
、replace_nth()
和replace_all()
。<boost/algorithm/string/find_iterator.hpp>
:提供一系列查找字符串的迭代器,如find_iterator
、token_iterator
和split_iterator
。<boost/algorithm/string/finder.hpp>
:定义了在字符串中查找子串的算法,包括简单查找算法和 KMP 算法。<boost/algorithm/string/formatter.hpp>
:定义了用于格式化输出字符串的函数对象,如repeat_formatter
、range_formatter
和join_formatter
。<boost/algorithm/string/iter_find.hpp>
:定义了一个类模板iter_find_t
,可以在字符串中查找子串并返回迭代器。<boost/algorithm/string/join.hpp>
:提供字符串连接函数,包括join()
、join_if()
和concat()
。<boost/algorithm/string/predicate.hpp>
:提供字符串谓词函数,包括starts_with()
、ends_with()
、contains()
、equals()
、iequals()
和iless()
。<boost/algorithm/string/regex.hpp>
:提供与正则表达式相关的字符串函数,包括regex_match()
、regex_search()
、regex_replace()
。<boost/algorithm/string/regex_find_format.hpp>
:提供使用正则表达式查找并替换字符串的函数,包括regex_replace()
和regex_transform()
。<boost/algorithm/string/replace.hpp>
:提供替换字符串函数,包括replace_first()
、replace_last()
、replace_nth()
和replace_all()
。<boost/algorithm/string/sequence_traits.hpp>
:定义了判断序列类型的函数模板is_sequence
,用于判断一个类型是否为序列。<boost/algorithm/string/split.hpp>
:提供字符串分割函数,包括split()
、split_if()
和splitted()
。<boost/algorithm/string/std_containers_traits.hpp>
:定义了用于实现 STL 容器的特化模板sequence_traits
。<boost/algorithm/string/trim.hpp>
:提供字符串去除空格函数,包括trim()
、trim_left()
、trim_right()
和trim_copy()
。<boost/algorithm/string/trim_all.hpp>
:提供字符串去除所有空格函数,包括trim_all()
、trim_all_copy()
。
0.<boost/algorithm/string/case_conv.hpp>
- to_lower():将一个字符串转换为全小写格式。
- to_upper():将一个字符串转换为全大写格式。
- to_title():将一个字符串所有单词的首字母转换为大写。
- to_lower_copy():生成一个全小写格式的副本。
- to_upper_copy():生成一个全大写格式的副本。
- to_title_copy():生成一个标题格式的副本。
1. <boost/algorithm/string/compare.hpp>
:
该头文件提供字符串的比较函数。主要包括以下函数:
is_equal()
:用于判断两个字符串是否相等,可以指定比较大小写敏感或不敏感。ilexicographical_compare()
:用于比较字符串的字典序,可以指定比较大小写敏感或不敏感。iless()
:用于判断一个字符串是否小于另一个字符串,可以指定比较大小写敏感或不敏感。ilexicographical_compare()
:用于比较字符串的字典序,可以指定比较大小写敏感或不敏感。
2. <boost/algorithm/string/erase.hpp>
:
该头文件提供了删除字符串子串的函数。主要包括以下函数:
erase_first()
:用于删除第一个出现的指定子串。erase_nth()
:用于删除第 n 个出现的指定子串。erase_all()
:用于删除所有出现的指定子串。
3. <boost/algorithm/string/find.hpp>
:
该头文件提供了查找字符串子串的函数。主要包括以下函数:
find_first()
:用于查找第一个出现的指定子串,返回子串起始位置和结束位置。find_last()
:用于查找最后一个出现的指定子串,返回子串起始位置和结束位置。find_nth()
:用于查找第 n 个出现的指定子串,返回子串起始位置和结束位置。find_all()
:用于查找所有出现的指定子串,返回子串起始位置和结束位置的迭代器。
4. <boost/algorithm/string/find_format.hpp>
:
该头文件提供了查找并替换字符串子串的函数。主要包括以下函数:
replace_first()
:用于查找并替换第一个出现的指定子串。replace_last()
:用于查找并替换最后一个出现的指定子串。replace_nth()
:用于查找并替换第 n 个出现的指定子串。replace_all()
:用于查找并替换所有出现的指定子串。
5. <boost/algorithm/string/finder.hpp>
:
该头文件提供了在字符串中查找子串的算法。其中包含了一些简单查找算法和 KMP 算法。
6. <boost/algorithm/string/join.hpp>
:
该头文件提供了连接多个字符串为一个字符串的函数。主要包括以下函数:
join()
:用于连接多个字符串,并添加指定的分隔符。join_if()
:用于只连接满足指定谓词条件的字符串,并添加指定的分隔符。concat()
:用于连接两个字符串。
7. <boost/algorithm/string/split.hpp>
:
该头文件提供了将字符串分割为多个子串的函数。主要包括以下函数:
split()
:用于按指定分隔符分割字符串,并将结果存入一个容器中。split_if()
:用于根据指定谓词函数判断是否需要分割,并将结果存入一个容器中。splitted()
:用于返回按指定分隔符分割后的结果,作为一个可迭代对象使用。
8. <boost/algorithm/string/trim.hpp>
:
该头文件提供了去除字符串首尾空白字符的函数。主要包括以下函数:
trim()
:用于去除字符串首尾空白字符。trim_left()
:用于去除字符串左侧空白字符。trim_right()
:用于去除字符串右侧空白字符。trim_copy()
:用于返回去除首尾空白字符后的字符串副本。
9. <boost/algorithm/string/regex.hpp>
:
该头文件提供了与正则表达式相关的函数。主要包括以下函数:
regex_match()
:用于检测一个字符串是否符合正则表达式的模式。regex_search()
:用于在一个字符串中查找匹配正则表达式模式的子串。regex_replace()
:用于查找并替换匹配正则表达式模式的子串。
10. <boost/algorithm/string/regex_find_format.hpp>
:
该头文件提供了使用正则表达式进行查找和替换的函数。主要包括以下函数:
regex_replace()
:用于通过正则表达式查找并替换字符串中的相应子串。regex_transform()
:用于通过正则表达式查找某些子串并返回一个格式化后的副本。
11. <boost/algorithm/string/replace.hpp>
头文件。该头文件提供了替换字符串子串的函数,主要包括以下函数:
replace_first_copy()
:用于替换第一个出现的指定子串,并返回替换后的字符串副本。replace_last_copy()
:用于替换最后一个出现的指定子串,并返回替换后的字符串副本。replace_nth_copy()
:用于替换第 n 个出现的指定子串,并返回替换后的字符串副本。replace_all_copy()
:用于替换所有出现的指定子串,并返回替换后的字符串副本。
此外,还有以下函数可以直接在原字符串上进行替换操作:
replace_first()
:用于替换第一个出现的指定子串。replace_last()
:用于替换最后一个出现的指定子串。replace_nth()
:用于替换第 n 个出现的指定子串。replace_all()
:用于替换所有出现的指定子串。