Makefile之字符串函数
2024-08-29 23:43:38
1.subst字符串替换函数
$(subst <from>,<to>,<text>)
名称:字符串替换函数——subst。
功能:把字串<text>中的<from>字符串替换成<to>。
返回:函数返回被替换过后的字符串。
例子:
comma := ,
empty :=
space := $(empty) $(empty)
string := a b c d
bar :=$(subst $(space),$(comma),$(string))
all:
@echo $(bar)
这里:
space := $(empty) $(empty)必须是两个空格;否则正常显示效果; 2.patsubst模式字符串处理函数 $(patsubst $(pattern),$(replacement),$(text))
函数功能:
将text中的符合pattern模式的,替换成repacement;
例子:
3.strip去除开头和结尾的空格符
$(strip <string>)
函数功能:
去除字符串的开头和结尾空格符 4.findstring查找字符串函数
$(findstring <find>,<in>)
函数功能:
在字符串<in>中,查找<find>字符串;
如果找到,则返回<find>字符串;
否则,返回空字符串; 5.filter过滤函数
$(filter <pattern...>,<text>)
函数功能:
以<pattern..>模式过滤<text>字符串中的单词,保留符合模式的字符串;
注意:
这可以有多个模式;
举例:
A = .c .o .s .h
B = $(filter %.c %.s,$(A))
all:
echo $B
函数输出:1.c 3.s
6.filter-out反过滤函数
函数功能:
去除符合模式的字符串,返回不符合的字符串
$(filer-out <pattern...>,<text>)
举例:
A = .c .o .s .h
B = $(filter-out %.c %.s,$(A))
all:
echo $B
函数输出:2.o 4.h
7.sort排序函数
函数功能:给单词按照首字母,升序
举例:
A = bf dc ca ba ac
B = $(sort $(A))
all:
echo $B
函数输出:ac ba bf ca dc
8.word取单词函数
$(word <n>,<text>)
函数功能:返回text中的第N个单词;从1开始
举例:
A = bf dc ca ba ac
B = $(word ,$(A))
all:
echo $B
函数返回:dc 也就是第二个字符串;
9.wordlist取单词串函数
$(wordlist <s>,<e>,<text>)
函数功能:
返回text字符串中,从s开始,到e的所有单词
举例:
A = bf dc ca ba ac
B = $(wordlist ,,$(A))
all:
echo $B
函数返回:dc ca ba
10.words单词个数统计函数
$(words <text>)
函数功能:
统计text中的单词个数
举例:
11.firstwords返首个单词
$(firstword <text>)
函数功能:
取字符串<text>中的第一个单词
举例:
A = bf dc ca ba ac
B = $(firstword $(A))
all:
echo $B
函数返回:bf
最新文章
- shell 字符串截取
- Javascript 里的 in
- magento去掉add to cmpre和email to friend
- 在列表页,按照指定的category取所属的post列表
- 301、404、200、304、500等HTTP状态,代表什么意思?
- Entity Framework菜鸟初飞
- Umbraco学习2------数据类型
- 教你做炫酷的碎片式图片切换 (canvas)
- (转)Java compiler level does not match解决方法
- R语言︱SNA-社会关系网络—igraph包(社群划分、画图)(三)
- Kali安装Docker
- Python全栈开发之---输入输出与流程控制
- thinkcmf 5关闭后台验证码
- centos 7 配置tomcat开机启动
- Connecting Elixir Nodes with libcluster, locally and on Kubernetes
- 纯HTML和CSS实现JD轮播图
- svn查看日志(show log)显示时间为1970的解决方法
- Android--------从一个包中的Avtivity创建另外另外一个包的Context
- 用B表更新A表
- 一次ajax请求导致status为canceled的原因小记