如何以Char数组字符元素为标识,分割String字符并列示出来?

数组

我们先来看看ToCharArray()和Split()这两个方法,因为它与本问题相关.

先看ToCharArray()方法,它是将此实例中的字符复制到 Unicode 字符数组,它属于String类的方法,能够把字符串返向转换为一个字符数组,比如:

string str=”this is”;

Char[] arr;

arr=str.ToCharArray();//把"this is string”以单个字符分开,成为Char数组的元素

如果我们要输出看一下(假设有个listBox控件)方法如下:

foreach(char[] c in arr)

{

Listbox1.Items.Add(c.ToString());

}

的结果是这样的:

T

H

I

S

I

S

看看这个结果,可以明白包括空格在内都被分开成了char数组的元素.

我们再来看看Split()方法:

Split()方法是标识此实例中的子字符串(它们由数组中指定的一个或多个字符进行分隔),然后将这些子字符串放入一个 String 数组中。

它有两个重载版本:

public string[] Split(params char[]);

public string[] Split(char[], int);

我们讲第一个版本,后一个版本在MSDN中有解释.

它的参数是一个Char[]数组,也就是以Char[]中的元素作为分割的标识,分割后的结果存入string[]数组中,我们来举个例:

String strA=”what is this?,oh,orange!”;

String[] arStr;

arStr=strA.Split(str.ToCharArray());//str是我们前面定义了的”this is”

这时arStr[]数组中的元素就是由str中的7个字符为标识分割strA字符后产生的元素

我们来看一下结果如例:

Foreach(string cc in arStr)

{

ListBox1.Items.Add(cc.ToString());

}

结果就是:

Wa

?,o

,orange!

string[]数组arStr中凡是有arr数组中元素的字符都不会出现,因为它被用作分割标识符了.

至此,大家可能明白了字符的分割与数组的关系了,如果是,我就满足了!

时间: 2024-09-20 00:25:17

如何以Char数组字符元素为标识,分割String字符并列示出来?的相关文章

C#实现字符串按多个字符采用Split方法分割

原文:C#实现字符串按多个字符采用Split方法分割 String字符串如何按多个字符采用Split方法进行分割呢?本文提供VS2005和VS2003的实现方法,VS2005可以用下面的方法: string agentInfo = userInfo.Attribute19.ToString();            string[] myAgent = agentInfo.Split(new string[] { "$#$" }, StringSplitOptions.None); 

字符-如何对一个用char数组存储的计算公式求解

问题描述 如何对一个用char数组存储的计算公式求解 比如一个char数组存放的是(5+8)/3+4.5*2--1 其中4.5是以4 . 5 存放的,-1的存法是 -一个字符,1一个字符 解决方案 这个是编译原理里面的一个基础例子.就是语法分析的过程.很多编译原理的第一个练习题就是这个.通过语法分析实现一个计算器功能.把字符串分解成一个语法树.再递归计算.去网上搜索下计算器的实现代码.很多的. 解决方案二: 4.5 是三个字符吗

Java中char数组(字符数组)与字符串String类型的转换方法_java

本文实例讲述了Java中char数组(字符数组)与字符串String类型的转换方法.分享给大家供大家参考,具体如下: 在Java语言编程时,使用"口令字段"jPasswordField组件时,如果要获得密码值,就需要使用该组件的getPassword()方法.jPasswordField的getPassword()方法返回一个char类型的数组,我们经常需要将这个数组转换为String类型,以便进行诸如口令匹配或口令赋值等操作.这时,就需要将char类型的数组进行转换.当然也经常会遇到

初始化-C++ char数组不能赋值中文

问题描述 C++ char数组不能赋值中文 #includeusing namespace std;class student{public: char *getname() { cout << ""姓名:""; cin >> name[10]; //为什么输入字母.数字都可以正常运行,输入中文就不行 count++; return name; } void seteng() { cout << ""英语:&q

指针-关于char*和char数组的问题

问题描述 关于char*和char数组的问题 我定义了一个struct如下: struct golf{ char fullname[len]; int handicap; }; 同时写了函数void setgolf()来对结构的成员进行操作,函数定义如下: void setgolf(golf & g, const char * name, int hc) { g.fullname=name;//报这个错误:expression must be a modifiable lvalue g.hand

lnk1179-怎么统计一个数组中元素的频率,和出现频率最高的元素

问题描述 怎么统计一个数组中元素的频率,和出现频率最高的元素 hshxjjnnn.hajhshhajsjsjsjsjsjxmdmdndb char ch[N] cin>>ch [], 解决方案 只能一个个字符遍历,然后记录下每个字符出现的次数 #include<iostream> #include <stdio.h> #include <ctype.h> using namespace std; int main(){ int a[26]={0}; int

定义一个数组,为什么这个数组里面既可以是单个的字符用逗号隔开,也可以是字符串呢

问题描述 定义一个数组,为什么这个数组里面既可以是单个的字符用逗号隔开,也可以是字符串呢 定义一个数组,为什么这个数组里面既可以是单个的字符用逗号隔开,也可以是字符串呢,字符串和字符的关系 解决方案 字符数组可以直接用双引号,这是C语言为了方便字符串定义而开的特例. 解决方案二: 字符串是又一个个字符组合而成定义数组时数组里面既可以是单个的字符用逗号隔开,那是一个个对数组的元素进行赋值也可以是字符串那是因为在内存中,一个数组里面的元素其实它们地址是相连的,只要得到首地址再加上每个地址块大小,变可

c++-MFC 中 CString转换成char[]数组

问题描述 MFC 中 CString转换成char[]数组 环境为vs2010 CString szText; char a[1024]; edit1.GetWindowText(szText);//获取edit1编辑框的文本 怎么将CString类 szText 转换为char[]数组的内容? memcpy(a,szText,1024);只能读取文本的第一个字符 解决方案 MFC不建议用char类型了,你用TCHAR,宽字符的处理速度还快些 解决方案二: memcpy(a,(const cha

字符串-[c语言]关于 scanf() 和 char数组 的小实验的问题

问题描述 [c语言]关于 scanf() 和 char数组 的小实验的问题 写了三个小的几乎一样的test代码,但是输出却不同,不明白为什么,求大神指点.全部代码如下:#include void sub1(void); int main(){ /*test1*/ sub1(); /*test2 */char w0[2]={'a''a'}; char * pc0 = w0; printf("" w1 = %s""w0); /*wrong*/printf("&