C#字符串的使用Word格式文档下载.docx

上传人:b****1 文档编号:4817045 上传时间:2023-05-04 格式:DOCX 页数:12 大小:21.12KB
下载 相关 举报
C#字符串的使用Word格式文档下载.docx_第1页
第1页 / 共12页
C#字符串的使用Word格式文档下载.docx_第2页
第2页 / 共12页
C#字符串的使用Word格式文档下载.docx_第3页
第3页 / 共12页
C#字符串的使用Word格式文档下载.docx_第4页
第4页 / 共12页
C#字符串的使用Word格式文档下载.docx_第5页
第5页 / 共12页
C#字符串的使用Word格式文档下载.docx_第6页
第6页 / 共12页
C#字符串的使用Word格式文档下载.docx_第7页
第7页 / 共12页
C#字符串的使用Word格式文档下载.docx_第8页
第8页 / 共12页
C#字符串的使用Word格式文档下载.docx_第9页
第9页 / 共12页
C#字符串的使用Word格式文档下载.docx_第10页
第10页 / 共12页
C#字符串的使用Word格式文档下载.docx_第11页
第11页 / 共12页
C#字符串的使用Word格式文档下载.docx_第12页
第12页 / 共12页
亲,该文档总共12页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

C#字符串的使用Word格式文档下载.docx

《C#字符串的使用Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《C#字符串的使用Word格式文档下载.docx(12页珍藏版)》请在冰点文库上搜索。

C#字符串的使用Word格式文档下载.docx

Console.WriteLine(mystring);

Console.WriteLine(mychars);

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

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

示例文件test.txt为字符串的来源。

下面代码以Unicode格式读取文本。

确保文件保存为读取时的格式。

例如记事本允许将代码保存为Unicode:

aaaaaaaa,bbbbbbbb,cccccc

dddddddd,eeeeeeee,ffffff

gggggggg,hhhhhhhh,iiiiii

jjjjjjjj,kkkkkkkk,llllll

下面代码加载数据并处理数据的测试工具。

测试结果发送给控制台。

classmyprocessfile

conststringmyName="

test.txt"

StreamreadLine;

TextWirterwriteLine;

StringBuildersb;

readLine=File.OpenRead(myName);

WriteLine=Console.Out;

StreamReaderreadLineSReader=newStreamReader(readLine,Encoding.Unicode);

readLineSReader.BaseStream.Seek(0,SeekOrigin.Begin);

while(readLineSReader.Peek()>

-1)

sb=newStringBuilder(readLineSReader.ReadLine());

//插入字符串操作语句如:

sb.Append("

123"

);

Console.WriteLine(sb.ToString());

在结尾添加一列内容:

//displaysaaaaaaaa,bbbbbbbb,cccccc,xxxxx

//......

xxxxx"

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

//displaysbbbbbbbb,cccccc

sb.Remove(0,sb.ToString().IndexOf('

)+1);

替换分隔符:

//aaaaaaaa+bbbbbbbb+cccccc

sb.Replace('

+'

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

sb.Insert(0,lineNumber.ToString("

000"

));

lineNumber++;

//displays 

//000aaaaaaaa,bbbbbbbb,cccccc

//001dddddddd,eeeeeeee,ffffff

//002gggggggg,hhhhhhhh,iiiiii

//003jjjjjjjj,kkkkkkkk,llllll

字符串操作

1、从字符串中提取子串

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

stringmystring="

Mynameisynn."

//Displays"

nameisynn."

Console.WriteLine(mystring.Substring(3));

ynn"

Console.WriteLine(mystring.Substring(11,3));

2、比较字符串

String类有四种方法:

Compare()、CompareTo()、CompareOrdinal()、Equals()。

Compare()方法是CompareTo()方法的静态版本。

只要使用“=”运算符,就会调用Equals()方法,的以Equals()方法与“=”是等价的。

CompareOrdinal()方法对两个字符串比较不考本地语言与文件。

示例:

intresult;

boolbresult;

s1="

aaaa"

s2="

bbbb"

//Compare()method

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

s2,大于零表示s1>

s2

result=String.Compare(s1,s2);

result=s1.CompareTo(s2);

result=String.CompareOrdinal(s1,s2);

bresult=s1.Equals(s2);

bresult=String.Equals(s1,s2);

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

3、字符串格式化

3.1格式化数字

格式字符 

说明和关联属性 

c、C 

货币格式。

d、D 

十进制格式。

e、E 

科学计数(指数)格式。

f、F 

固定点格式。

g、G 

常规格式。

n、N 

数字格式。

r、R 

往返格式,确保将已转换成字符串的数字转换回数字时具有与原数字相同的值。

x、X 

十六进制格式。

doubleval=Math.PI;

Console.WriteLine(val.ToString());

//displays3.14159265358979

Console.WriteLine(val.ToString("

E"

//displays3.141593E+000

F3"

//displays3.142

intval=65535;

x"

//displaysffff

X"

//displaysFFFF

Singleval=0.123F;

p"

//displays12.30%

p1"

//displays12.3%

默认格式化会在数字和百分号之间放入一个空格。

定制方法如下:

其中NumberFormatInfo类是System.Globalization命名空间的一个成员,因此该命名空间必须导入到程序中。

objectmyobj=NumberFormatInfo.CurrentInfo.Clone()asNumberFormatInfo;

NumberFormatInfomyformat=myobjasNumberFormatInfo;

myformat.PercentPositivePattern=1;

myformat));

//displays12.30%;

//displays12.3%;

格式化具有很大的灵活性。

下面的例子演示一个没有意义的货币结构:

doubleval=1234567.89;

int[]groupsize={2,1,3};

objectmyobj=NumberFormatInfo.CurrentInfo.Clone();

NumberFormatInfomycurrency=myobjasNumberFormatInfo;

mycurrency.CurrencySymbol="

#"

//符号

mycurrency.CurrencyDecimalSeparator="

//小数点

mycurrency.CurrencyGroupSeparator="

_"

//分隔符

mycurrency.CurrencyGroupSizes=groupsize;

//输出 #1_234_5_67:

89

C"

mycurrency));

3.2格式化日期

输出形式取决于用户计算机的文化设置。

usingSystem;

usingSystem.Globalization;

publicclassMainClass 

  publicstaticvoidMain(string[]args) 

  {

DateTimedt=DateTime.Now;

String[]format={"

d"

"

D"

f"

F"

g"

G"

m"

r"

s"

t"

"

T"

u"

U"

y"

dddd,MMMMddyyyy"

ddd,MMMd\"

\"

yy"

dddd,MMMMdd"

M/yy"

dd-MM-yy"

};

Stringdate;

for(inti=0;

i<

format.Length;

i++) 

date=dt.ToString(format[i],DateTimeFormatInfo.InvariantInfo);

Console.WriteLine(String.Concat(format[i],"

:

date));

d:

07/11/2004 

<

=======输出

D:

Sunday,11July2004

f:

Sunday,11July200410:

52

F:

52:

36

g:

07/11/200410:

G:

m:

July11

r:

Sun,11Jul200410:

36GMT

s:

2004-07-11T10:

t:

10:

T:

u:

2004-07-1110:

36Z

U:

Sunday,11July200402:

y:

2004July

dddd,MMMMddyyyy:

Sunday,July112004

ddd,MMMd"

yy:

Sun,Jul11'

04

dddd,MMMMdd:

Sunday,July11

M/yy:

7/04

dd-MM-yy:

11-07-04

3.3格式化枚举

enumclassmen

ynn=1,

yly=2,

css=3,

C++=4

获取枚举字符串信息如下:

classmenmyclassmen=classmen.yly;

Console.WriteLine(myclassmen.ToString());

//displaysyly

Console.WriteLine(myclassmen.ToString("

//displays2

从系统枚举中获取文本人信息如下:

DayOfWeekday=DayOfWeek.Friday;

//displays"

DayisFriday"

Console.WriteLine(String.Format("

Dayis{0:

G}"

day));

格式化字符串“G”把枚举显示为一个字符串。

StringBuilder类学习笔记

  String类的不可改变性使它更像一个值类型而不是一个引用类型。

其副作用是每次执行字符操作时,都会创建一个新的String对象。

StringBuilder类解决了对字符串进行重复修改的过程中创建大量对象的问题。

StringBuilder类的一些属性与方法

Length 属性并不是只读的。

StringBuildersb=newStringBuilder("

Ilivethelanguage"

Console.WriteLine(sb.ToString());

sb.Length=6;

Ilive"

Capacity 

属性

描述:

当前为实例分配的字符数量。

默认容量是16,如果将一个字符串作为参数提供给构造函数,容量以最接近2的幂的值。

MaxCapacity 

这个实例中可以被分配的字符最大数量。

Append( 

) 方法

追加给定值的字符串表示。

StringBuildersb=newStringBuilder();

Console.WriteLine(sb.Capacity+"

\t"

+sb.Length);

sb.Append('

a'

17) 

16 

0<

==输出

32 

17

EnsureCapacity(Intcapacity) 

方法

如果当前容量小于指定容量,内存分配会增加内存空间以达到指定容量。

Replace(Charoldchar,Charnewchar) 

用newchar替换oldchar。

Replace(Stringoldstring,Stringnewstring) 

方法

用newstring替换oldstring。

Replace(Charoldchar,Charnewchar,Int 

startpos,Intcount) 

从startpos到count-1之间用newchar替换oldchar。

Replace(Stringoldstring,Stringnewstring,Intstartpos,Intcount) 

从startpos到count-1之间用newstring替换oldstring。

ToString() 

StringBuildersb=newStringBuilder("

Ilivethisgame"

);

Strings1=sb.ToString( 

 

Strings2=sb.ToString(3,4);

live"

在这里第二个ToString()方法调用了String类的Substring()方法

publicStringToString(intstartIndex,intlength) 

returnm_StringValue.Substring(startIndex,length);

String类学习笔记

一、String类的常用公共成员

Compare(Strings1,Strings2) 

静态方法

功能:

区分大小写比较。

Compare(Strings1,Strings2,BoolignoreCase) 

ignoreCase为True,不区分大小写比较。

CompareTo(Strings) 

实例方法

对给定字符串与实例字符串执行一次区分大小写与文化信息比较。

Copy(Strings) 

返回一个与给定字符串同值的新的字符串。

CopyTo(IntsurceIndex,char[]destination,IntdestIndex,Intcount)

实例方法功能:

此实例中的指定位置复制到Unicode字符数组中的指定位置。

参数:

sourceIndex:

此实例中的字符位置。

destination:

Unicode字符的数组。

destIndex:

destination中的数组元素。

count:

此实例中要复制到destination的字符数。

例程:

publicclassCopyToTest{

publicstaticvoidMain(){

stringstrSource="

changed"

char[]destination={'

T'

'

h'

e'

i'

n'

t'

l'

r'

y'

};

Console.WriteLine(destination);

strSource.CopyTo(0,destination,4,strSource.Length);

strSource="

Adifferentstring"

strSource.CopyTo(2,destination,3,9);

输出:

Theinitialarray

Thechangedarray

Thedifferentarray

EndsWith(Strings)

如果实例字符串是以给定的字符串结束,就返回True。

Equals(Strings)

如果实例字符串与给定的对象具有相同的值,就返回True。

Format(IFormatProviderprovider,Stringformat,ParamArrayargs)

format的一个副本,其中格式项已替换为args中相应Object实例的String等效项。

参数

provider:

一个IFormatProvider,它提供区域性特定的格式设置信息。

format:

包含零个或多个格式项。

args:

包含零个或多个要格式化的对象的Object数组。

例如:

stringmyName="

Fred"

String.Format("

Name={0},hours={1:

hh}"

myName,DateTime.Now);

固定文本是“Name=”和“,hours=”,格式项是“{0}”和“{1:

hh}”,值为myName和DateTime.Now。

Replace(Stringoldstring,Stringnewstring)

在实例字符串中用newstring替换所有oldstring。

Split(char[]separator,intcount)

separator:

分隔此实例中子字符串的Unicode字符数组、不包含分隔符的空数组或空引用。

count:

要返回的最大数组元素数。

stringdelimStr="

.:

char[]delimiter=delimStr.ToCharArray();

stringwords="

onetwo,three:

four."

string[]split=null;

split=words.Split(delimiter,4);

foreach(stringsinsplit)

Console.WriteLine("

-{0}-"

s);

one 

==输出

two

three

four.

SubString(IntstartPos,Intlength)

从指定位置开始返回一个指定长度的子串。

返回一个对实例字符的引用。

ToString(IFormatProviderformat)

返回一个对实例字符串的引用。

正则表达式学习笔记

(1)

一、System.Text.RegularExpression命名空间

1、 

Regex类可以用来创建正则表达式,还提供了许多方法。

如:

Regex.Replace(stringinput,Stringpattern,stringreplacement);

-------RegexOption枚举

IgnoreCase 

忽略大小写。

默认情况区分大小写

RightToLeft 

从右到左查找输入字符串。

None 

不设定标志。

MiltiLine 

指定^与$可以匹配行的开

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2