黑马程序员技术交流社区
标题:
字符串分割问题!
[打印本页]
作者:
潘龙旺
时间:
2013-6-25 10:25
标题:
字符串分割问题!
本帖最后由 潘龙旺 于 2013-6-26 11:38 编辑
文本文件中存储了多个文章标题、作者,标题和作者之间用若干空格(数量不定)隔开,每行一个,标题有的长有的短,输出到控制台的时候最多标题长度10,如果超过10,则截取长度8的子串并且最后添加“...”,加一个竖线后输出作者的名字。这是一道基础测试题,不会做,求答案!
作者:
彭家贰小姐
时间:
2013-6-25 11:19
技术点及思路:
1.读取txt
2.字符串的分割以及截取
所有代码如下:
using System;
using System.IO;
using System.Text;</P>
<P>namespace test3
{
internal class Program
{
private static void Main(string[] args)
{
// 1. 读取txt文本
const string path = @"..\..\WorksInfo.txt";
var strs = File.ReadAllLines(path, Encoding.Default); //读取返回字符串数组
// 2. 循环处理
foreach (var s in strs)
{
var row = s.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries); //逐行以空格分割
if (row[0].Length > 10) //超过10 则截取8加...
{
Console.WriteLine(row[0].Substring(0, 8) + "...|" + row[1]);
}
else
{
Console.WriteLine(row[0] + "|" + row[1]);
}
}
Console.ReadKey();
}
}
}
复制代码
作者:
转达小朋友
时间:
2013-6-25 11:31
static void Main(string[] args)
{
//3、 文本文件中存储了多个文章标题、作者,标题和作者之间用若干空格(数量不定)隔开,每行一个,标题有的长有的短,
//输出到控制台的时候最多标题长度10,如果超过10,则截取长度8的子串并且最后添加“...”,加一个竖线后输出作者的名字。
string[] lines = File.ReadAllLines("\\文本.txt", Encoding.Default);//读取文本文档的内容放入字符串数组中
foreach (string line in lines)//便利字符串数组
{
string[] str1 = line.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);//将每一行数据以空格分割并去掉空字符串存放到str1中
string s1;
if (str1[0].Length > 10)//判断文章标题长度是否不超过10 超过10 截取前8个字符 后面用“....”表示 没有超过10 正常显示 标题和作者用|分开
{
s1 = str1[0].Substring(0, 8) + "...|";
}
else
{
s1 = str1[0] + "|";
}
string name = str1[1];
string ss = s1 + name;
Console.WriteLine("文章标题和作者:{0}", ss);
}
Console.ReadLine();
}
复制代码
文本文件 要放在 Debug 下
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2