编写一取某字符串子串的函数char*substr

编写一取某字符串子串的函数char*substr,第1张

char get_sub_str(char str, int start, int len)

{

char res = (char)malloc(len + 1);

res[len] = 0;

memcpy(res, str + start - 1, len);

return res;

}

char get_sub_str(char str, int start, int len)

{

    char res = (char)malloc(len + 1);

    res[len] = 0;

    memcpy(res, str + start - 1, len);

    return res;

}

现在有如下一串字符串

"asdfkjasldjkf"shiner"df

需求:

需要提取出shiner子字符串。

命令如下:

[root@localhost

/]$

echo

"asdfkjasldjkf\"shiner\"df"

|

sed

's/\(\)"\(\)"\(\)/\2/g'

shiner

命令解释

s:

表示替换命令

\(\)"

:

表示第一个引号前的内容

"\(\)":表示两引号之间的内容

)"\(\):表示引号后的内容

\2:

表示第二对括号里面的内容

括号里的表达式匹配的内容,可以用\1,\2等进行引用,第n个括号对内的内容,就用\n引用。

这个命令的意思是:

用\2代表的第二个括号的内容(shiner)去替换整个字符串,这样就得到了我们所需要的子字符串了。

string a="321,654,98787,123123";

string[] b = aSplit(new Char[] { ',' });

用Split函数分割,存储在数组里。

如果你用的是string类型的变量 可以把string类型变量当做数组来 *** 作 便可方便地字符串进行各种

*** 作 例子如下:

int main()

{

string a;

cin>>a;

int length=alength(); //取字符串的长度

string b;

for(int k=2;k<5;++k) //截取字符串a中2~4位置段的字串,并存入字符串b中

{

b+=a[k];

}

cout<<b;

return 0;

}

package chuan;

public class MaxSubstring {

//获取两个字符串中最大相同子串。

/

思路:1、将短的那个子串按照长度递减的方式获取到。

2、用长串去判断是否包含每次获取到的子串,若包含则就找到最大相同子串

@param s1

@param s2

@return max substring

/

public static String getMaxsubstring(String s1,String s2)

{

String max="",min="";

max=(s1length()>s2length())s1:s2;

min=(max==s1)s2:s1;

for(int i=0;i<minlength();i++)

{

for(int j=0,k=minlength()-i;k!=minlength()+1;j++,k++)

{

String temp=minsubstring(j,k);

//Systemoutprintln("temp--:"+temp);

if(maxcontains(temp))

return temp;

}

}

return "";

}

/

@param args

/

public static void main(String[] args) {

String xx="abcdefghij",yy="34cdefgff";

String dd=MaxSubstringgetMaxsubstring(xx,yy);

Systemoutprintln(dd);

}

}

可以使用JavaScript原生自带的substring。

定义和用法

substring() 方法用于提取字符串中介于两个指定下标之间的字符。

语法

stringObjectsubstring(start,stop)

参数

start    必需。一个非负的整数,规定要提取的子串的第一个字符在 stringObject 中的位置。  

stop  

可选。一个非负的整数,比要提取的子串的最后一个字符在 stringObject 中的位置多 1。

如果省略该参数,那么返回的子串会一直到字符串的结尾。

返回值

一个新的字符串,该字符串值包含 stringObject 的一个子字符串,其内容是从 start 处到 stop-1 处的所有字符,其长度为 stop 减start。

简单的小例子。仅供参考:

<script type="text/javascript">

    var str="Hello world!"

    documentwrite(strsubstring(3))

</script>

//vc++ 60下运行通过

#include <stdioh>

#include <stdlibh>

char subs(char s,int n,int m)

{

char p;

int i=0;

p=s;

while(p++ != '\0') //NULL是void 型

{

i++;

}

if(n<0||m<0||m<n||m>i)

{

printf("Substring invidal !\n");

exit (0);

}

p=s+n;

(p+m+1)='\0';//必须'\0',printf函数读到'\0'停止;

return(p);

}

int main(void)

{

char s1[]="The c programing language!";// char 常量

system("cls");

printf("%s\n",subs(s1,5,16));

}

以上就是关于编写一取某字符串子串的函数char*substr全部的内容,包括:编写一取某字符串子串的函数char*substr、5. 定义一个函数,用来获取一个字符串中的子串 char * get_sub_str、如何用正则表达式提取如下字符串中的子串等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址: http://outofmemory.cn/web/9542877.html

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

发表评论

登录后才能评论

评论列表(0条)

保存