怎么查找一个string 字符串中的子字符串出现的次数和位置

怎么查找一个string 字符串中的子字符串出现的次数和位置,第1张

首先获得一个字符用ch=getchar()或者scanf ("%c", &ch);

其次判断字符相等直接用==

接着j没有定义

最后输出int数组用循环

参考代码:

#include <stdioh>

#include <stringh>

int main()

{

char a[80] = "abcdefgh\0";

char ch;

int i, m, b[80];

int flag = 0;

ch = getchar();//获取一个字符

m = strlen(a);

for (i = 0; i < m; ++i){

if (a[i] == ch){//找到了,直接判断是否相等

b[flag] = i+1;//记录位置

flag += 1;

}

}

if (flag == 0)printf ("no");

else {

printf ("%d\n", flag);

for (i = 0; i < flag; i++){//对位置进行输出,用循环

printf ("%d ", b[i]);

}

printf ("\n");

}

return 0;

}

@echo off

setlocal enabledelayedexpansion

for /f "tokens=1,2,3 delims=:" %%i in (testtxt) do (

set /a n+=1

set m=%%i

set m=!m:~-1!

for /f "tokens=1,2 delims= " %%a in ("%%k") do (

set size!n!=%%b

set name!n!=!m!:%%j%%a

)

)

for /l %%i in (1,1,!n!) do (

echo size^(%%i^)=!size%%i! name^(%%i^)=!name%%i!

)

pause

goto :eof

'用VBS写了一个,看看可不可以?

dim i,sm

set fso=createobject("scriptingfilesystemobject")

set file=fsoopentextfile("testtxt")

do while fileatendofstream<>true

n=trim(filereadline)

i=i+1

redim name(i),size(i)

text n

loop

fileclose

wscriptecho sm

set fso=nothing

set file=nothing

set i=nothing

set sm=nothing

sub text(a)

k=instr(a," "):j=instrrev(a," ")

size(i)=mid(a,j+1):name(i)=mid(a,k+1,j-k-1)

sm=sm&"name("&i&")="&name(i)&vbcrlf&"size("&i&")="&size(i)&vbcrlf

end sub

import javautilregex;

public class Test {

public static void main(String[] args){

String str = "addcjbjacffbcd";

String reg = "a[^a]b";    

//利用正则表达式定义规则,a开头中间除了a任意都获取,b结尾

Pattern p = Patterncompile(reg);

Matcher m = pmatcher(str);

while(mfind()){

Systemoutprintln(mgroup());

}

}

}

以上就是关于怎么查找一个string 字符串中的子字符串出现的次数和位置全部的内容,包括:怎么查找一个string 字符串中的子字符串出现的次数和位置、如何用批处理提取字符串中的子字符串、java中怎样从字符串中获取以a开头b结尾的子字符串等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/10039945.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-04
下一篇2023-05-04

发表评论

登录后才能评论

评论列表(0条)

    保存