Vector - CAPL - 字符串查找与检查
创始人
2025-05-28 14:55:12

目录

字符串查找&替换

mbstrncmp & mbstrncmp_off

代码示例

mbstrstr & mbstrncpy_off

代码示例

strstr & strstr_off

代码示例

strstr_regex & strstr_regex_off

代码示例

str_match_regex

代码示例


        对于字符串的查找,无论在任何一种编程语言中都是必不可少的,可以极大的解决我们代码开发工作中的问题,今天我们主要介绍字符串中查找特定字符串以及替换特定的字符串;这其中也包含了正则匹配的方法进行查找,也是相当的方便。

字符串查找&替换

mbstrncmp & mbstrncmp_off

功能:比较两个字符串

说明:函数将s1与s2进行比较,比较的最大长度为len个字符。

s1:字符串1

s2:字符串2

len:要比较的最大字符数

s1offset:字符串s1的起始比较位置

s2offset:字符串s2的起始比较位置

返回值:

      • 0:字符串s1和S2字符串相同
      • 1:字符串s1大于字符串s2
      • -1:字符串s1小于字符串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

mbstrstr & mbstrncpy_off

功能:在字符串中搜索某段特殊字符;在字符串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

strstr & strstr_off

功能:在字符串中搜索某段特殊字符;在字符串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

strstr_regex & strstr_regex_off

功能:在字符串中搜索正则表达式模式。

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

str_match_regex

功能:检查字符串是否与正则表达式匹配一致

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

相关内容

热门资讯

日本财务大臣就日元走弱发出警告... 来源:环球市场播报 在日本央行当天稍早宣布加息并召开新闻发布会后,日元兑美元明显走软,日本财务大臣...
特朗普五天圣诞长假期不会惠及大... 来源:环球市场播报 特朗普总统签署行政命令,允许联邦雇员今年12月24日和12月26日放假,这引发...
小米17 Ultra发布在即,... 12月18日,小米公司通过官方微博宣布与徕卡的全球影像战略合作正式升级,此次升级引入全新的“战略共创...
视频丨高市早苗持续遭批,日本民... 日本首相高市早苗的涉台错误言论引发日本国内持续批评。19日,部分日本民众在东京举行抗议集会,要求高市...
一场千万美元的赌注:造一个替你... 出品|虎嗅科技组作者|李一飞编辑|陈伊凡头图|视觉中国“AI原生100”是虎嗅科技组推出针对AI原生...