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

2025-04-03 18:33:58
推荐回答(2个)
回答1:

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

一、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
#include
#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; xfor(y=0; y{
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; xputs(buffer[x]);
getch();
}

回答2:

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

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

这样就分割开了。