C#中string用法

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、标记

标记(tokenizing)是从文本中提取具体内容的过程。

下面的代码从句子中提取单词,并把它们输出到控制台。

class mytokenizing

{

static void main(string[ ] args)

{

string mystring="i like this food,are you?";

char[] separators={ ,,,?,:,!};

int startpos=0;

int endpos=0;

do

{

endpos=mystring.indexofany(separators,startpos);

if ( endpos==-1 ) endpos=mystring.length;

if ( endpos!=startpos )

console.writeline(mystring.substring( startpos,(endpos-startpos)));

startpos=(endpos+1);

}while(startpos

}

}

i <== 输出

like

this

food

are

you

二、颠倒字符串次序

class myreverse

{

static void main(string [] args)

{

string mystring="你们好";

char[] mychars=mystring.tochararray( );

array.reverse(mychars);

console.writeline(mystring);

console.writeline(mychars);

}

}

任何继承于array的类都能利用reverse( )方法为数组中的元素重新排序。

三、字符串的插入、删除和替换

示例文件test.txt为字符串的来源。下面代码以unicode格式读取文本。确保文件保存为读

取时的格式。例如记事本允许将代码保存为unicode:

aaaaaaaa,bbbbbbbb,cccccc

dddddddd,eeeeeeee,ffffff

gggggggg,hhhhhhhh,iiiiii

jjjjjjjj,kkkkkkkk,llllll

下面代码加载数据并处理数据的测试工具。测试结果发送给控制台。

class myprocessfile

{

static void main(string [] args)

{

const string myname="test.txt";

stream readline;

textwirter writeline;

stringbuilder sb;

readline=file.openread(myname);

writeline=console.out;

streamreader readlinesreader=new streamreader(readline,encoding.unicode); readlinesreader.basestream.seek(0,seekorigin.begin);

while(readlinesreader.peek()>-1)

{

sb=new stringbuilder(readlinesreader.readline());

//插入字符串操作语句如:sb.append(",123");

console.writeline(sb.tostring());

}

}

}

在结尾添加一列内容:

//displays aaaaaaaa,bbbbbbbb,cccccc,xxxxx

//......

sb.append(",xxxxx");

第一列可以使用下面的代码删除:

//displays bbbbbbbb,cccccc

//......

sb.remove(0,sb.tostring().indexof(,)+1);

替换分隔符:

//aaaaaaaa+bbbbbbbb+cccccc

sb.replace(,,+);

添加行号(linenumber已经在前面某处声明过为前提):

sb.insert(0,linenumber.tostring("000 "));

linenumber++;

//displays

//000 aaaaaaaa,bbbbbbbb,cccccc

//001 dddddddd,eeeeeeee,ffffff

//002 gggggggg,hhhhhhhh,iiiiii

//003 jjjjjjjj,kkkkkkkk,llllll

13:16 | 评论(0)

2004年7月11日#

字符串操作学习笔记

字符串操作

--------------------------------------------------------------------------------

1、从字符串中提取子串

stringbuilder 类没有支持子串的方法,因此必须用string类来提取。

string mystring="my name is ynn.";

//displays "name is ynn."

console.writeline(mystring.substring( 3 ));

//displays "ynn"

console.writeline(mystring.substring( 11,3 ));

2、比较字符串

string 类有四种方法:compare( )、compareto( )、compareordinal( )、equals( )。compare( )方法是compareto( )方法的静态版本。只要使用“=”运算符,就会调用equals( )方法,的以equals( )方法与“=”是等价的。compareordinal( )方法对两个字符串比较不考本地语言与文件。

示例:

int result;

bool bresult;

s1="aaaa";

s2="bbbb";

//compare( )method

//result值为“0”表示等,小于零表示s1 < s2,大于零表示s1 > s2

result=pare(s1,s2);

result=pareto( s2 );

result=pareordinal(s1,s2);

bresult=s1.equals( s2 );

bresult=string.equals( s1,s2 );

一个例外情况是,两个字符串都是内置的,并相等,静态方法要快得多。

相关文档
最新文档