拆分字符串(两种方法 字符串拆分)


文字都挤在一个单元格了?一招教你快速拆分字符串
有时候我们会在网上down一些数据如果直接是Excel排好的格式真的就太顺利了,但有时候我们导出的数据只是一堆文本,所有文字都挤在一个单元格根本无法直接使用,这时候就需要用到拆分数据了,准确的说拆分字符串 。那么如何快速准确的拆分字符串呢?
看如下例子:一列数据 姓名跟上后面的部门,要把姓名和部门分开,
a.最简单的方法就是分列字符串,如果第一次用这个功能 一般操作就是选中这列数据 依次点击上面的数据-分列(数据分裂快捷键alt+d+e),选择固定宽度,很显然失败了,原因是名字里有两个字也有三个四个字的 无法用固定宽度的方法分裂 。
b.还是数据分裂选择另一种方式
数据分裂选择分隔符号 默认 空格,点击完成 ??一点效果都没有 。显然默认的对于这列数据也是无效的 。先观察下这列数据 发现部门都是用括号括起来的,其实正确做法是用括号的方式分裂,为了把“(”打正确 不知道是中文括号还是英文括号,直接在原数据中复制下,然后 数据-分裂-分隔符号 勾选 其它,勾选后边会出现一个输入框把刚才复制的括号复制进去点击完成,基本完成了 数据分裂的要求 。
除了分裂外还有提取字符串的方法 但是明显没有上述方法快捷,来看看函数法
c.需要用到find,left,right 来解决这个问题
FIND(find_text,within_text,start_num) 用来查找字符串在文本中的位置
left(text,num_chars),在文本中从指定的字符开始从左提取指定位数的字符,right反之同理
因为本文重点推荐分裂的方法,因此函数法只演示一遍
先提取出姓名:
再提取出部门:
本文旨在帮助大家快速掌握一些方法解决类似的问题,并不建议大家使用复杂的函数,感兴趣的可以看看动图操作或联系作者
excel如何实现字符串拆分
方法一:
1、在A2单元格输入以下公式,然后向下填充公式到A4
=TRIM(RIGHT(SUBSTITUTE(LEFT(A$1,FIND("座",SUBSTITUTE(A$1,"*","座",ROW(A1)))-1),"*",REPT(" ",99)),99))
2、在A5单元格输入
=RIGHT(A$1,LEN(A1)-FIND("座",SUBSTITUTE(A$1,"*","座",3)))
方法二:选择数据区域 ,在“数据”选项下的“分列”中,以“*”作为分隔符分列,分列后,复制,并“选择性粘贴”为“转置”,即可 。
详见附图

excel 字符串拆分方法?
方法一:
1、在A2单元格输入以下公式,然后向下填充公式到A4
=TRIM(RIGHT(SUBSTITUTE(LEFT(A$1,FIND("座",SUBSTITUTE(A$1,"*","座",ROW(A1)))-1),"*",REPT(" ",99)),99))
2、在A5单元格输入
=RIGHT(A$1,LEN(A1)-FIND("座",SUBSTITUTE(A$1,"*","座",3)))
方法二:选择数据区域 ,在“数据”选项下的“分列”中,以“*”作为分隔符分列,分列后,复制,并“选择性粘贴”为“转置”,即可 。
详见附图

如何把一个字符串分割成多个字符串
下面两种方法均可以把一个字符串分割成多个字符串
一、Java
知识补充


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

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

  • 有了以上补充知识,下面的内容就很好理解了 。
    一、待分割字符串
    待分割字符串为如下:
  • String str = "abcd e fg"

  • 其中,字符串中的的空白分别为:单个空格,多个空格,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:
");
for(x=0; x<count; x++)
puts(buffer[x]);
getch();
}

拆分字符串(两种方法)
写两个函数(API),输出以下结果
第一个API
1)以逗号分隔字符串,形成二位数组,并把结果传输
2)把二维数组行数运算结果也传出
第二个API
1)以逗号分隔字符串,形成一个二级指针
2)把一共拆分多少行字符串个数传出
要求:
1.能正确表达功能的要求,定义出接口 。
2.正确实现接口和功能
3.编写正确的测试用例
Excel 单元格内字符串拆分?
1、打开Excel,选中单元格 。
2、点击工具栏中的数据 。
3、点击数据后,点击选择分列 。
4、点击分列后,进入分列第一部,点击下一步 。
5、进入分列第2部,勾选其他,然后输入逗号,点击下一步 。
6、最后点击完成 。
7、点击完成分列后,数据就分开了 。

关于字符串拆分和的内容就分享到这儿!更多实用知识经验,尽在 www.hubeilong.com