您的位置:首页 > 其它

StringWriter实现的一个功能

2010-03-29 10:40 302 查看
原文地址:http://www.dingos.cn/index.php?topic=1794.0

如何用一组双倍间距的句子创建一个连续的段落,然后将该段落重新转换为原来的文本:

using System;
using System.IO;

class StringRW {
static void Main() {
string textReaderText = "TextReader is the abstract base " +
"class of StreamReader and StringReader, which read " +
"characters from streams and strings, respectively./n/n" +
"Create an instance of TextReader to open a text file " +
"for reading a specified range of characters, or to " +
"create a reader based on an existing stream./n/n" +
"You can also use an instance of TextReader to read " +
"text from a custom backing store using the same " +
"APIs you would use for a string or a stream./n/n";
Console.WriteLine("Original text:/n/n{0}", textReaderText);
string aLine, aParagraph = null;
StringReader strReader = new StringReader(textReaderText);
while(true) {
aLine = strReader.ReadLine();
if(aLine != null) {
aParagraph = aParagraph + aLine + " ";
} else {
aParagraph = aParagraph + "/n";
break;
}
}
Console.WriteLine("Modified text:/n/n{0}", aParagraph);
int intCharacter;
char convertedCharacter;
StringWriter strWriter = new StringWriter();
strReader = new StringReader(aParagraph);
while(true) {
intCharacter = strReader.Read();
if(intCharacter == -1) break;
convertedCharacter = Convert.ToChar(intCharacter);
if(convertedCharacter == '.') {
strWriter.Write("./n/n");
strReader.Read();
strReader.Read();
} else {
strWriter.Write(convertedCharacter);
}
}
Console.WriteLine("/nOriginal text:/n/n{0}", strWriter.ToString());
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐