Makefile之字符串函数
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
Makefile之字符串函数的更多相关文章
- Linux makefile教程之函数七[转]
使用函数 ———— 在Makefile中可以使用函数来处理变量,从而让我们的命令或是规则更为的灵活和具有智能.make所支持的函数也不算很多,不过已经足够我们的操作了.函数调用后,函数的返回值可以当做 ...
- Makefile编写 四 函数篇
一.函数的调用语法 函数调用与变量一样,也是以“$”来标识的,其语法如下: $(<function> <arguments>) 或是 ${<function> &l ...
- Makefile中的函数
Makefile 中的函数 Makefile 中自带了一些函数, 利用这些函数可以简化 Makefile 的编写. 函数调用语法如下: $(<function> <arguments ...
- ThinkPHP 模板substr的截取字符串函数
ThinkPHP 模板substr的截取字符串函数在Common/function.php加上以下代码 /** ** 截取中文字符串 **/ function msubstr($str, $start ...
- SQL字符串函数
LEN() :计算字符串长度(字符的个数.)datalength();//计算字符串所占用的字节数,不属于字符串函数.测试varchar变量与nvarchar变量存储字符串a的区别.见备注1.LOWE ...
- Python3中的字符串函数学习总结
这篇文章主要介绍了Python3中的字符串函数学习总结,本文讲解了格式化类方法.查找 & 替换类方法.拆分 & 组合类方法等内容,需要的朋友可以参考下. Sequence Types ...
- TSQL 字符串函数:截断和查找
字符串截断函数是指:Stuff 和 SubString,字符串查找函数是:CharIndex 和 PatIndex 一,SubString 截取子串 最常用的字符串函数,用于截取特定长度的子串. SU ...
- c#编程基础之字符串函数
c#常用的字符串函数 例一: 获取字符串的大小写函数 ToLower():得到字符串的小写形式 ToUpper():得到字符串的大写形式 注意: 字符串时不可变的,所以这些函数都不会直接改变字符串的内 ...
- SQLSERVER常见系统函数之字符串函数(一)
好久没有写博客了,这段时间准备写一下字符串函数 QQ群: 499092562:欢迎交流 字符串函数: 1.LEN(需要获取长度的字符串) 返回:字符串的长度 示例: SELECT LEN('小搬运工很 ...
随机推荐
- 如何从List中删除元素
从List中删除元素,不能通过索引的方式遍历后删除,只能使用迭代器. 错误的实现 错误的实现方法 public class Demo { public static void main(Str ...
- hdu 1211 RSA (逆元)
RSA Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submiss ...
- 交叉编译VIM并移植到ARM嵌入式Linux系统
原创作品,允许转载,转载时请务必以超链接形式标明文章.作者信息和本声明,否则将追究法律责任. 众所周知,vim是vi的增强版本,实际体验要比vi好用很多,由于笔者为ARM系统制作的基于busybo ...
- Codeforces 934.D A Determined Cleanup
D. A Determined Cleanup time limit per test 1 second memory limit per test 256 megabytes input stand ...
- 【ZOJ4062】Plants vs. Zombies(二分)
题意:有n个植物排成一排,标号为1-n,每株植物有自己的生长速度ai,每对植物浇一次水,该株植物就长高ai, 现在机器人从第0个格子出发,每次走一步,不能停留,每一步浇一次水,总共可以走m步,问最矮的 ...
- 解决_CRT_SECURE_NO_WARNINGS 警告
问题:我们在程序中使用fopen等CRT函数,就会出现一些警告信息,很烦人,如下: 1>e:/project/htt/ishow/functions.cpp(156) : warning C49 ...
- error LNK2026: 模块对于 SAFESEH 映像是不安全的(转)
原文转自 http://www.cnblogs.com/hanxi/archive/2012/06/10/2544230.html 今天使用VS2012遇到一个问题:"链接器工具错误 LNK ...
- xen 保存快照的实现之 —— device model 状态保存
xen 保存快照的实现之 —— device model 状态保存 实现要点: 设备状态保存在 /var/lib/xen/qemu-save.x 文件这个文件由 qemu-dm 产生,也由 qemu- ...
- msvc交叉编译:使用vcvarsall.bat设置命令行编译环境
一直以来我只知道vc设置命令行编译环境的批处理命令是%VS140COMNTOOLS%/Common7/Tools下的vsvars32.bat,(%VS140COMNTOOLS%为定义vs2015公共工 ...
- centos6.5 以 zero-dependency Erlang from RabbitMQ 搭建环境
rabbitmq 官方安装文档可参考:http://www.rabbitmq.com/install-rpm.html ,由于rabbitmq 使用Erlang 开发的,运行环境需要用到Erlang ...