如何把一个字符串分割成多个字符串

如题所述

下面两种方法均可以把一个字符串分割成多个字符串

一、Java

知识补充

    String的split方法支持正则表达式;

    正则表达式\s表示匹配任何空白字符,+表示匹配一次或多次。

    有了以上补充知识,下面的内容就很好理解了。

    一、待分割字符串

    待分割字符串为如下:

    String str = "a  b     c  d e f      g"

    其中,字符串中的的空白分别为:单个空格,多个空格,tab制表符。

    二、使用一个或多个空格分割字符串

    正确代码如下:

    String [] arr = str.split("\\s+");for(String ss : arr){
       System.out.println(ss);
    }

编写的程序

public static void main(String args[]) {

       

String line = "good12 morning34 good56 night78";       

//对String进行split之后的数组的输出
       

String[] tt=line.split("\\s+");        

for(String s:tt)
       

{
           

System.out.println(s);
      

}

System.out.println("#####");

}

输出结果为
good12
morning34
good56
night78

二、C语言

#include <stdio.h>
#include <conio.h>
#define MAX_X 20
#define MAX_Y 10
#define DIV_CHAR ' ' /*separator*/
void divString(char* string,char buffer[MAX_X][MAX_Y],int* pCount)
{
char* pChar;
int x,y;
for(pChar=string,x=0; x<MAX_X && *pChar; x++,(*pCount)++)
for(y=0; y<MAX_Y && *pChar; y++,pChar++)
{
if(DIV_CHAR == *pChar)
{
buffer[x][y] = '\0';
pChar ++;
break;
}
buffer[x][y] = *pChar;
}
buffer[*pCount-1][y] = '\0';
}
void main()
{
char string[100],buffer[MAX_X][MAX_Y];
int x,count = 0;
printf("Please enter one string:");
gets(string);
divString(string,buffer,&count);
printf("Before division:");
puts(string);
printf("After division:\n");
for(x=0; x<count; x++)
puts(buffer[x]);
getch();
}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-11-14

这个问题要具体问题具体分析吧!
比如说C#,有一个字符串str=“123.456.789”

str.Split('.').ToArray();

这样就分割开了。

相似回答