cmake string 判断两端是否有*
时间: 2023-07-08 20:06:17 浏览: 181
你可以使用 CMake 的 `string` 命令检查字符串的开头和结尾是否包含某个特定字符或字符串。下面是一个例子,它演示了如何检查一个字符串是否以 `*` 开头和结尾:
```cmake
set(my_string "*hello*")
# 检查字符串开头是否为 *
if(my_string MATCHES "^\\*")
message("字符串以 * 开头")
endif()
# 检查字符串结尾是否为 *
if(my_string MATCHES "\\*$")
message("字符串以 * 结尾")
endif()
```
在上面的例子中,我使用 `MATCHES` 来匹配正则表达式,其中 `^` 表示字符串开头,`\*` 表示 `*` 字符(需要使用反斜杠转义),`$` 表示字符串结尾。如果正则表达式匹配成功,那么就说明字符串开头或结尾包含 `*`。你可以根据自己的需求修改这个例子。
相关问题
cmake string 去除两端空格
可以使用 CMake 中的 `string` 命令结合正则表达式来实现去除字符串两端空格的功能,具体代码如下:
```cmake
string(REGEX REPLACE "^ +| +$" "" str "${str}")
```
其中,`^ +` 匹配字符串开头的空格,`|` 表示或,`+ $` 匹配字符串结尾的空格。使用空字符串 `""` 替换匹配到的空格,最终得到的结果就是去除了字符串两端的空格。
例如,将字符串 `${myString}` 去除两端空格并赋值给变量 `${trimmedString}`,可以使用以下代码:
```cmake
string(REGEX REPLACE "^ +| +$" "" trimmedString "${myString}")
```
cmake string 去除两端"
你可以使用 `string(STRIP <string>)` 命令来去除字符串两端的空格和换行符。如果你需要去除两端的引号,可以先使用 `string(REPLACE <match> <replacement> <output variable> <input>)` 命令将字符串中的引号替换为空,然后再使用 `string(STRIP <string>)` 去除两端的空格和换行符。具体的 CMake 代码如下所示:
```cmake
set(my_string "\"hello world\"")
string(REPLACE "\"" "" my_string ${my_string})
string(STRIP my_string)
message(${my_string}) # 输出 hello world
```
上面的代码中,我首先定义了一个带引号的字符串 `my_string`,然后使用 `string(REPLACE "\"" "" my_string ${my_string})` 命令将其中的引号替换为空,最后使用 `string(STRIP my_string)` 去除两端的空格和换行符。最后输出的结果就是不带引号的字符串 `hello world`。
阅读全文