C#中string用法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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 ); 一个例外情况是,两个字符串都是内置的,并相等,静态方法要快得多。