CMakeLists.txt中的字符串操作函数string
1 | string(REGEX MATCH <regular_expression> <output variable> <input> [<input>...]) |
匹配正则表达式一次,然后将匹配的值存储到输出变量中
1 | string(REGEX MATCHALL <regular_expression> <output variable> <input> [<input>...]) |
尽可能多次地匹配正则表达式,然后将匹配的值以list的形势存储到输出变量中。
1 | string(REGEX REPLACE <regular_expression> <replace_expression> <output variable> <input> [<input>...]) |
尽可能多次地匹配正则表达式,并且将匹配的值用replacement expression 替换掉,然后存储到输出变量中。这个replace expression 可以引用包含匹配字符串的子表达式,这些匹配的字符串用圆括号隔开的\1,\2,…,\9等加以引用。注意:在CMake代码里,如果要使用一个反斜杠,必须要用两个反斜杠(\\1)转义,才能通过参数解析。
1 | string(REPLACE <match_string> <replace_string> <output variable> <input> [<input>...]) |
将输入字符串内所有出现match_string的地方都用replace_string代替,然后将结果存储到输出变量中。
1 | string(COMPARE EQUAL <string1> <string2> <output variable>) |
将会比较两个字符串,然后将比较的结果(true/false)存储到输出变量中。
1 | string(COMPARE NOTEQUAL <string1> <string2> <output variable>) |
将会比较两个字符串,然后将比较的结果(true/false)存储到输出变量中。
1 | string(COMPARE LESS <string1> <string2> <output variable>) |
将会比较两个字符串,然后将比较的结果(true/false)存储到输出变量中。
1 | string(COMPARE GREATER <string1> <string2> <output variable>) |
将会比较两个字符串,然后将比较的结果(true/false)存储到输出变量中。
1 | string(ASCII <number> [<number> ...] <output variable>) |
将会把所有数字转换为对应的ASCII字符。
1 | string(CONFIGURE <string1> <output variable> [@ONLY] [ESCAPE_QUOTES]) |
将一个字符串进行变换,这种变换与将一个FILE变换为CONFIGURE_FILE相似。
1 | string(TOUPPER <string1> <output variable>) |
将字符串转换为大写字符。
1 | string(TOLOWER <string1> <output variable>) |
将字符串转换为小写字符。
1 | string(LENGTH <string> <output variable>) |
返回给定字符串的长度。
1 | string(SUBSTRING <string> <begin> <length> <output variable>) |
返回给定字符串的子串。
1 | string(STRIP <string> <output variable>) |
返回一个给定字符串的子串,它会去掉原先字符串开始和结尾的空格。
1 | string(RANDOM [LENGTH <length>] [ALPHABET <alphabet>] [RANDOM_SEED <seed>] <output variable>) |
将会返回一个给定长度的随机字符串,它由给定的字母表中的字母组成。默认的长度是5个字符,默认的字母表是全部的大小写字母以及数字。如果指定了一个整数RANDOM_SEED,它的值将会被用做随机数发生器的种子。
参考:
https://www.cnblogs.com/coderfenghc/archive/2012/10/20/2712806.html
————————————————————
原创文章,转载请注明: 转载自孙希栋的博客
本文链接地址: 《CMakeLists.txt中的字符串操作函数string》