目录
字符串查找&替换
mbstrncmp & mbstrncmp_off
代码示例
mbstrstr & mbstrncpy_off
代码示例
strstr & strstr_off
代码示例
strstr_regex & strstr_regex_off
代码示例
str_match_regex
代码示例
对于字符串的查找,无论在任何一种编程语言中都是必不可少的,可以极大的解决我们代码开发工作中的问题,今天我们主要介绍字符串中查找特定字符串以及替换特定的字符串;这其中也包含了正则匹配的方法进行查找,也是相当的方便。
功能:比较两个字符串
说明:函数将s1与s2进行比较,比较的最大长度为len个字符。
s1:字符串1
s2:字符串2
len:要比较的最大字符数
s1offset:字符串s1的起始比较位置
s2offset:字符串s2的起始比较位置
返回值:
char s[50] = "'Tür' is the german word for 'door'.";
write("%d", mbstrncmp_off(s, 13, "german", 0, 6));
write("%d", mbstrncmp("vector", "vector", 6));
write("%d", mbstrncmp("vec", "vector", 6));
//输出结果
// 0
// 0
//-1
功能:在字符串中搜索某段特殊字符;在字符串s1中搜索字符串s2
s1:字符串1
s2:字符串2
offset:开始搜索的起始未知在字符串s1中
返回值:s1中s2字符的第一个位置,如果s1中找不到s2,则为-1
long pos;
char s[50] = "'Tür' is german for 'door'";
pos = mbstrstr(s, "german");
write("%d", pos); // 9
//输出结果
// 9
功能:在字符串中搜索某段特殊字符;在字符串s1中搜索字符串s2
说明:根据字符串编码,字符可能需要几个字节,例如Windows ANSI(932)编码中的日语字符或UTF-8编码中的任何特殊字符。在这种情况下,可使用函数mbstrstr/mbsstr_off。
s1:字符串1
s2:字符串2
offset:在s1中开始查找的位置
返回值:s1中s2的第一个字节位置,如果s1中找不到s2,则为-1。
long pos;
char s1[18] = "Vector Informatik";
char s2[11] = "Informatik";
pos = strstr(s1, s2);
//输出结果
// pos = 7
功能:在字符串中搜索正则表达式模式。
s:被查找的字符串
offset:开始搜索的偏移量
pattern:搜索的正则表达式。
返回值:找到字符串的位置,如果未找到,则为-1。
char buffer[70] = "Vector Informatik";
long res;
res = strstr_regex(buffer, "Inf[a-z]*");
res = strstr_regex_off(buffer, res + 1, "Inf[a-z]*");
//输出结果
// 7
// -1
功能:检查字符串是否与正则表达式匹配一致
s:待检查字符串
pattern:正则表达式
返回值:
1:如果字符串与正则表达式完全匹配一致返回1
0:如果字符串与正则表达式不完全匹配一致返回0
char buffer[70] = "Vector Informatik";
long res;
res = str_match_regex(buffer, "Vector [A-Za-z]*");
write("res is %d", res);
res = str_match_regex(buffer, "Inf[a-z]*");
write("res is %d", res);
//输出结果
// res is 1
// res is 0