1. 首页>动态要闻 > 信息

怎么把字符串分割

作者:高原远
2020-03-31
信息

1.怎么把输入的字符串分割

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

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

函数说明

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

返回值

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

示例-1

#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 ("%sn",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

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

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

一、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 ' '

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] = '';

pChar ++;

break;

}

buffer[x][y] = *pChar;

}

buffer[*pCount-1][y] = '';

}

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();

}

3.如何将字符串分割为数组呢

想把 ^ 滤掉 ?

#include <stdio.h>

int main(void)

{

char s[20] = "a^b^c^d^e";

char a[20] = {0};

int i;

int j;

for(i=0,j=0;s[i];i++)

{

if(s[i]!='^')

{

a[j] = s[i];

j++;

}

}

for(i=0;a[i];i++)

{

printf("%c ",a[i]);

}

printf("n");

return 0;

}

4.如何分割string字符串

java分割字符串用split,例如

String sourceStr = "1,2,3,4,5";String[] sourceStrArray = sourceStr.split(",");for (int i = 0; i < sourceStrArray.length; i++) { System.out.println(sourceStrArray[i]);}

split分隔符总结

1.字符"|","*","+"都得加上转义字符,前面加上""。2.而如果是"",那么就得写成"\"。3.如果一个字符串中有多个分隔符,可以用"|"作为连字符。

比如:String str = "Java string-split#test",可以用Str.split(" |-|#")把每个字符串分开。这样就把字符串分成了3个子字符串。

5.Java如何将字符串分割

split

public String[] split(String regex)根据给定正则表达式的匹配拆分此字符串。

该方法的作用就像是使用给定的表达式和限制参数 0 来调用两参数 split 方法。因此,所得数组中不包括结尾空字符串。

例如,字符串 "boo:and:foo" 使用这些表达式可生成以下结果:

Regex 结果

: { "boo", "and", "foo" }

o { "b", "", ":and:f" }

参数:

regex - 定界正则表达式

返回:

字符串数组,它是根据给定正则表达式的匹配拆分此字符串确定的

抛出:

PatternSyntaxException - 如果正则表达式的语法无效

从以下版本开始:

1.4

另请参见:

转自javaapi

另JavaMe没有split方法需要自己实现

6.如何拆分这样的字符串

java拆分字符串使用string类的spilt方法,针对某个分隔符来分割一个字符串,示例如下:

public class StringSplit { public static void main(String[] args) { String sourceStr = "1,2,3,4,5";//一个字符串 String[] sourceStrArray = sourceStr.split(",");//分割出来的字符数组 for (int i = 0; i < sourceStrArray.length; i++) { System.out.println(sourceStrArray[i]); } // 最多分割出3个字符串 int maxSplit = 3; sourceStrArray = sourceStr.split(",", maxSplit); for (int i = 0; i < sourceStrArray.length; i++) { System.out.println(sourceStrArray[i]); } }}

推荐阅读
  • 日照好玩的地方和吃海鲜应该去哪听说日

    日照好玩的地方:万平口:"旅游来日照,必到万平口",已成为各地游客的共识。刘家湾赶海园:以赶海系列活动为主,集旅游、休闲、度假、民俗、健身于一体的综合旅游园。竹洞天:位于山东省日照市城区西端的将帅沟毛竹…

    信息 2024-09-21
  • 什么是铸造

    铸造是指将室温中为液态,但不久后将要固态化的物质倒入特定形状的铸模待其凝固成形的加工方式。 被铸物质多半原为固态但加热至液态的金属(例:铜、铁、铝、锡、铅等),而铸模的材料可以是沙、金属甚至陶瓷。 因应…

    信息 2024-09-21
  • 变形金刚中博派和狂派各有哪些人物

    博派:擎天柱,铁皮,大黄蜂,爵士,棘齿。狂派:威震天,红蜘蛛,眩晕,吵闹,萨克,碎骨魔,路障,迷乱。…

    信息 2024-09-21
  • 一平方毫米的铜线能过多少安的电流

    1平方毫米的铜线在不同电流下通过的安培数不同。最大是18A:(1)60A以下,选1平方毫米的铜线安全载流量是6A;(2)60~100A,选1平方毫米的铜线,安全载流量是5A;(3)100A以上,选1平方毫米的铜线,安全载流量是2.5A 。…

    信息 2024-09-21
  • 中华人民共和国城乡规划法第四十条有规

    自2008年1月1日起施行的《中华人民共和国城乡规划法》第四十条:在城市、镇规划区内进行建筑物、构筑物、道路、管线和其他工程建设的,建设单位或者个人应当向城市、县人民政府城乡规划主管部门或者省、自治区、直辖…

    信息 2024-09-21