下面两种方法均可以把一个字符串分割成多个字符串
一、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=0x<MAX_X &&*pCharx++,(*pCount)++)
for(y=0y<MAX_Y &&*pChary++,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=0x<countx++)
puts(buffer[x])
getch()
}