Vector - CAPL - 字符串查找与检查

Vector - CAPL - 字符串查找与检查_第1张图片

目录

字符串查找&替换

mbstrncmp & mbstrncmp_off

代码示例

mbstrstr & mbstrncpy_off

代码示例

strstr & strstr_off

代码示例

strstr_regex & strstr_regex_off

代码示例

str_match_regex

代码示例


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

字符串查找&替换

mbstrncmp & mbstrncmp_off

Vector - CAPL - 字符串查找与检查_第2张图片

功能:比较两个字符串

说明:函数将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

你可能感兴趣的:(CAPL入门到入坑,CAPL,vTESTstudio,字符串查找)