1. 首页 > 科技

字符串15D9K10AD3H2K如何分割成:15D-9K-10AD-3H-2K,求解?

字符串15D9K10AD3H2K如何分割成:15D-9K-10AD-3H-2K,求解?

C语言如何分割字符串

可以写一个分割函数,用于分割指令,比如cat a.c最后会被分割成cat和a.c两个字符串、mv a.c b.c最后会被分割成mv和a.c和b.c三个字符串。

  参考代码如下:

#include <stdio.h>

#include<string.h>

#define MAX_LEN 128

void main()

{

    int i,length,ct=0,start = -1;

    char inputBuffer[MAX_LEN],*args[MAX_LEN];

    strcpy(inputBuffer,"mv a.c b.c");

    length=strlen(inputBuffer);

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

        switch (inputBuffer[i]){

        case ' ':

        case '\t' :               /* argument separators */

            if(start != -1){

                args[ct] = &inputBuffer[start];    /* set up pointer */

                ct++;

            }

            inputBuffer[i] = '\0'; /* add a null char; make a C string */

            start = -1;

            break;

        case '\0':                 /* should be the final char examined */

            if (start != -1){

                args[ct] = &inputBuffer[start];

                ct++;

            }

            inputBuffer[i] = '\0';

            args[ct] = NULL; /* no more arguments to this command */

            break;

        default :             /* some other character */

            if (start == -1)

                start = i;

        }

     }

    printf("分解之后的字符串为:\n");

    for(i=0;i<ct;i++)

        printf("%s \n",args[i]);

}

怎么把输入的字符串分割

C/C++中的Split函数是strtok()其函数原型如下:

char * strtok (char * str, const char * delimiters);

函数说明

strtok()用来将字符串分割成一个个片段。参数str指向欲分割的字符串,参数delimiters则为分割字符串,当strtok()在参数str的字符串中发现到参数delimiters的分割字符时则会将该字符改为'\0'字符。在第一次调用时,strtok()必需给予参数str字符串,往后的调用则将参数str设置成NULL。每次调用成功则返回下一个分割后的字符串指针。

返回值

返回下一个分割后的字符串指针,如果已无从分割则返回NULL。

示例-1

/* strtok example */

#include <stdio.h>

#include <string.h>

int main ()

{

char str[] ="a,b,c,d*e";

const char * split = ",";

char * p;

p = strtok (str,split);

while(p!=NULL) {

printf ("%s\n",p);

p = strtok(NULL,split);

}

getchar();

return 0;

}

本例中,实现对字符串'a,b,c,d*e"用逗号(,)来作界定符对字符串进行分割。

输出结果将如下所示:

a

b

c

d*e

因为delimiters支持多个分割符, 我们将本示例中的语句行

const char * split = ",";

改成 const char * split = ",*"; //用逗号(,)和星号(*)对字符串进行分割

这样输出结果将如下所示:

a

b

c

d

e

c语言分割问题 一串字符如何分成下列形式

你这样说也不知道怎么回答,总之必须找规律,比如。那几个单词的字母数量是一样的。或者是字符串里有分隔符,或者分隔的标记之类的才可以。

java 字符串拆分

public class Test1

{

public static void main(String args[]){

String str="TOM:89|JERRY:90|TONY:78";

String s1[]=str.split("\\|");//这句话的意思是说 按 | 拆分字符串,得到一个数组,数组的内容是{TOM:89,JERRY:90,TONY:78}也就是说 s1[0] = TOM:89,S1[1]=JERRY:90,S1[2]= TONY:78

for(int x=0;x<s1.length;x++){ // 这句话的意思是说:把数组 s1 循环输出 得到 我上面说的那三个值;

String s2[]=s1[x].split(":"); //这句话的意思是 把s1的三个值(也就是上面的三个值,在按 : 拆分) 得到 最后的结果.

System.out.println(s2[0]+"---->"+s2[1]);

}

}

}