黑马程序员技术交流社区

标题: 字符串分割问题! [打印本页]

作者: 潘龙旺    时间: 2013-6-25 10:25
标题: 字符串分割问题!
本帖最后由 潘龙旺 于 2013-6-26 11:38 编辑

文本文件中存储了多个文章标题、作者,标题和作者之间用若干空格(数量不定)隔开,每行一个,标题有的长有的短,输出到控制台的时候最多标题长度10,如果超过10,则截取长度8的子串并且最后添加“...”,加一个竖线后输出作者的名字。这是一道基础测试题,不会做,求答案!
作者: 彭家贰小姐    时间: 2013-6-25 11:19
技术点及思路:
1.读取txt
2.字符串的分割以及截取
所有代码如下:
  1. using System;
  2. using System.IO;
  3. using System.Text;</P>
  4. <P>namespace test3
  5. {
  6. internal class Program
  7. {
  8.   private static void Main(string[] args)
  9.   {
  10.    // 1. 读取txt文本
  11.    const string path = @"..\..\WorksInfo.txt";
  12.    var strs = File.ReadAllLines(path, Encoding.Default); //读取返回字符串数组
  13.    // 2. 循环处理
  14.    foreach (var s in strs)
  15.    {
  16.     var row = s.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries); //逐行以空格分割
  17.     if (row[0].Length > 10) //超过10 则截取8加...
  18.     {
  19.      Console.WriteLine(row[0].Substring(0, 8) + "...|" + row[1]);
  20.     }
  21.     else
  22.     {
  23.      Console.WriteLine(row[0] + "|" + row[1]);
  24.     }
  25.    }
  26.    Console.ReadKey();
  27.   }
  28. }
  29. }
复制代码

作者: 转达小朋友    时间: 2013-6-25 11:31
  1. static void Main(string[] args)
  2.         {
  3.             //3、 文本文件中存储了多个文章标题、作者,标题和作者之间用若干空格(数量不定)隔开,每行一个,标题有的长有的短,
  4.             //输出到控制台的时候最多标题长度10,如果超过10,则截取长度8的子串并且最后添加“...”,加一个竖线后输出作者的名字。
  5.             string[] lines = File.ReadAllLines("\\文本.txt", Encoding.Default);//读取文本文档的内容放入字符串数组中
  6.             foreach (string line in lines)//便利字符串数组
  7.             {
  8.                 string[] str1 = line.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);//将每一行数据以空格分割并去掉空字符串存放到str1中
  9.                 string s1;
  10.                 if (str1[0].Length > 10)//判断文章标题长度是否不超过10 超过10 截取前8个字符 后面用“....”表示 没有超过10 正常显示 标题和作者用|分开
  11.                 {
  12.                     s1 = str1[0].Substring(0, 8) + "...|";
  13.                 }
  14.                 else
  15.                 {
  16.                     s1 = str1[0] + "|";
  17.                 }
  18.                 string name = str1[1];
  19.                 string ss = s1 + name;
  20.                 Console.WriteLine("文章标题和作者:{0}", ss);
  21.             }
  22.             Console.ReadLine();
  23.             
  24.         }
复制代码
文本文件 要放在 Debug 下




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2