您现在的位置是:首页 >

短债长用如何判断 判断出短字串b中的所有字元是否都在长字串a中

火烧 2021-07-21 04:44:27 1045
判断出短字串 中的所有字元是否都在长字串a中 的判断出短字串 中的所有字元是否都在长字串a中实现方法不唯一1. 使用库函式 tri g.h tr tr函式函式名: tr tr功 能: 在串中查询指定字

判断出短字串b中的所有字元是否都在长字串a中  

的判断出短字串b中的所有字元是否都在长字串a中

实现方法不唯一
1. 使用库函式
string.h
strstr函式
函式名: strstr
功 能: 在串中查询指定字串的第一次出现
用 法: char *strstr(char *str1, char *str2);
说明:返回指向第一次出现str2位置的指标,如果没找到则返回NULL。
呼叫函式,判断返回值是否等于NULL,决定是否输出
如:
char *p=".c"; 需要的子串
if(strstr(A,p))
printf("%s",A);
2. 不使用库函式
程式码如下:
#include<stdio.h>
#include<string.h>
void main()
{
int i,j,la,lb,num=0;
char a[100],b[200];
gets(a);
gets(b);
la=strlen(a);
lb=strlen(b);
for(i=0;(lb-i)>=la;i++)
{
if(b[i]==a[0])
{
for(j=0;j<la;j++)
if(b[i+j]!=a[j])
break;
if(j==la)
{
printf("%dn",i+1);break;} 输出所在位置
}
}
}

判断字串C1 C2长度 并把短字串连到长字串后面

#include<string.h>
#include<stdio.h>
-----------------------------------
char* do(char*c1,char*c2){
int len1,len2;
len1=strlen(c1);
printf("the length of %s is %dn",c1,len1);
len2=strlen(c2);
printf("the length of %s is %dn",c2,len2);
if(c1>c2){
strcat(c1,c2);
return c1;
}
else{
strcat(c2,c1);
return c2;
}
}
---------------------------------
void main(){
char s1[50],s2[50];
printf("please input s1:");
scanf("%s",s1);
printf("please input s2:");
scanf("%s",s2);
printf("%sn",do(s1,s2);
}
~~~~~~~~~~~~~~~~~~~~~~~ . .~~~~~~~~~~~~~~~~~~~~~~~~~

字串是是否为字串,iOS判断字串是否为纯数字

第一种方式是使用NSScanner:
1. 整形判断
- (BOOL)isPureInt:(NSString *)string{
NSScanner* scan = [NSScanner scannerWithString:string];
int val;
return [scan scanInt:&val] && [scan isAtEnd];
}
2.浮点形判断:
- (BOOL)isPureFloat:(NSString *)string{
NSScanner* scan = [NSScanner scannerWithString:string];
float val;
return [scan scanFloat:&val] && [scan isAtEnd];
}
第二种方式是使用回圈判断
- (BOOL)isPureNumandCharacters:(NSString *)text
{
for(int i = 0; i < [text length]; ++i) {
int a = [text characterAtIndex:i];
if ([self isNum:a]){
continue;
} else {
return NO;
}
}
return YES;
}
或者 C语言中常用的方式.
- (BOOL)isAllNum:(NSString *)string{
unichar c;
for (int i=0; i<string.length; i++) {
c=[string characterAtIndex:i];
if (!isdigit(c)) {
return NO;
}
}
return YES;
}
第三种方式则是使用NSString的trimming方法
- (BOOL)isPureNumandCharacters:(NSString *)string
{
string = [string stringByTrimmingCharactersInSet;[NSCharacterSet decimalDigitCharacterSet]];
if(string.length > 0)
{
return NO;
}
return YES;
}
以上三种能够帮助实现判断是否为数字的函式,iOS中没有直接判断是否是数字的方法,所以只能够自己新增方法去实现了.

SQL判断字串是否在目标字串中的函式

根据需求,写了一段方法。 用于识别以下的情况: 判断 字串A 在用逗号分隔的字串B中是否存在如: v_str_a = aa ; v_str_b= aa,bb,dd, ; 如上,就返回Y,否则返回N. 添加了一些校验。 以后可以根据需求,按照指定的分隔符,提取字串。 毕竟Oracle的字串解析比较麻烦,能封装就封装。 Sql程式码 create or replace function func_str_inArray(p_target varchar2, p_str_array varchar2) return varchar2 is v_flag varchar2(1); v_ma_loc int; v_cut_string varchar2(300); v_rest_string varchar2(2000); begin ------------------------ --p_target 不能包含","!!!注意! --info:这个函式用于识别目标字串,是否在一串用","分开的字串内 ------------------------ v_flag := 'N'; v_ma_loc := instr(p_str_array, ','); --如果是对比字串是空,则返回false if nvl(p_str_array, '') = '' then return 'N'; end if; --如果没有逗号,直接比较 if length(p_str_array) > 0 and v_ma_loc = 0 then if p_target = p_str_array then return 'Y'; else return 'N'; end if; end if; v_rest_string := p_str_array; while v_ma_loc > 0 loop v_cut_string := substr(v_rest_string, 0, v_ma_loc - 1); v_rest_string := substr(v_rest_string, v_ma_loc + 1, length(v_rest_string) - 1); if p_target = v_cut_string then v_flag := 'Y'; end if; v_ma_loc := instr(v_rest_string, ','); if v_ma_loc = 0 and length(v_rest_string) > 0 then if p_target = v_rest_string then v_flag := 'Y'; end if; end if; end loop; return v_flag; end;

PHP判断某字串是否存在于字串中

字串处理函式库strpos寻找字串中某字元最先出现处。 语法:int strpos(string haystack, string needle, int [offset]);返回值: 整数函式种类: 资料处理 内容说明本函式用来寻找字串 haystack 中的字元 needle 最先出现的位置。值得注意的是 needle 只能是一个字元,中文字等就不适合了。若找不到指定的字元,则返回 false 值。引数 offset 可省略,用来Y表示从 offset 开始找。 参考strrpos() strrchr() substr() strstr()

短债长用如何判断 判断出短字串b中的所有字元是否都在长字串a中

C++判断字串是否所有字元全都不同

解法一:对于资料量有限的资料,可以利用这一特征进行简化处理。譬如对公司员工年龄排序的问题,年龄的范围是有限的,可以定义一个固定大小的阵列。ASCII中字元的个数也是有限的,有256个。因此这题可以用一个大小为256的阵列,遍历字串时把对应的个数记录在数组里,阵列某一项数字超过1那么就表示有重复字元了。
[cpp] view plain copy
bool IsUniqueChar(string str)
{
if(str.size() > 256)
return false;

bool result[256] = {false};
for(size_t i = 0; i < str.size(); ++i)
{
int tmp = str[i];
if(result[tmp])
return false;
result[tmp] = true;
}

return true;
}
解法二:如果字元的数目进一步缩小到只有a~z

26个字元,那么也可以用位操作来解决这个问题。对于26个字元,每个字元在它对应的ASCII码值对应的位置上设定一个标志,例如设定标志位为1,当字元不重复时1的位置都是错开的,所以位与的的结果必定为零,不为零说明之前出现过一个这样的字元。26个字元需要的资料型别至少有26位,而int型有32位,够用了。
[cpp] view plain copy
bool IsUniqueChar(string str)
{
if(str.size() > 256)
return false;

int result = 0;
for(size_t i = 0; i < str.size(); ++i)
{
int c = str[i] - 'a';
int check = 1 << c;
if((result & check) != 0) 注意'&'的优先顺序比‘<','!='低,括号不能丢
return false;

result |= check;
}

return true;
}

如何在shell中判断A字串中是否包含B字串

stra="this is a string"strb="a string"pos=$(printf "$stra" | awk -v strb="$strb" '{ print index($0, strb) }')if [ $pos -ne 0 ]; then printf "stra contains strbn"else printf "stra does not contain strbn"fi

  
永远跟党走
  • 如果你觉得本站很棒,可以通过扫码支付打赏哦!

    • 微信收款码
    • 支付宝收款码