substring()截取字符串中某个字符前面的内容! 如 45.6-56 我要截取 - 前面的内容

2025年03月23日 17:33
有1个网友回答
网友(1):

你是要直接调用substring()这样的函数吗?

substring

  public String substring(int beginIndex, int endIndex)

  返回一个新字符串,它是此字符串的一个子字符串。该子字符串从指定的 beginIndex 处开始, endIndex:到指定的 endIndex-1处结束。

  示例:

  "hamburger".substring(4,8) returns "urge"

  "smiles".substring(1,5) returns "mile"

  参数:

  beginIndex - 开始处的索引(包括)。

  endindex 结尾处索引(不包括)。

  返回:

  指定的子字符串。 

你的可以调用 “45.6-56”.substring(0,4) return "45.6"

其实C标准库里有专门处理字符串的函数,结合在一起就很快能实现截取;你可以些一个自定义函数如下

#include 

#include 

#define MAX 80

char sub[MAX];

char fsub[MAX];

int substring()

{

char *delim = "-";

char *p;

int len;

printf("please input < %d chars:",MAX);

scanf("%s",sub);

p = strstr(sub,delim);

if(p)

{

len = p - sub;

strncpy(fsub,sub,len);

}

printf("fsub = %s\n",fsub);

return 0;

}

int main()

{

substring();

return 0;

}

运行结果截图: