【问题标题】:Read text from file given specific indexes从给定特定索引的文件中读取文本
【发布时间】:2017-05-18 14:03:48
【问题描述】:

我有一个包含一些文本内容的文件。 例如文件名 = RandomText.txt

string content = "Lorem ipsum dolor sit amet, consectetur adipiscing elit";

我希望能够提取给定特定索引的内容 例如从索引 5 到索引 10 获取文本

应该返回“ipsum”

这是我的尝试,但并没有完全按照我的意愿行事..

int minRange = 1
int maxRange = 10;
int randomIndex = rnd.Next(minRange, maxRange);
string text = File.ReadLines(RandomText.txt).Skip(randomIndex).First();

(我认为这里的 skip() 用于行而不是索引,这不是我真正想要的..)

有什么想法吗?

【问题讨论】:

  • 请发布有关文件内容的更多信息。里面有换行符吗?
  • 不,只是连续文本,没有换行符
  • 如果你的 start-index 是 5 你从空格开始,所以结果是:" ipsu"

标签: c# file readlines


【解决方案1】:

File.ReadLines(RandomText.txt).Skip( 会跳过一些行而不是一些字符。基本上你可以使用方法System.IO.File.ReadAllText。它将整个文件内容作为一个字符串返回。现在您可以从某个起始索引中获取一个具有一定长度的子字符串

int minRange = 1
int maxRange = 10;
Random rnd = new Random(DateTime.Now.Millisecond);
int randomIndexStart = rnd.Next(minRange, maxRange);
int randomIndexLength = rnd.Next(minRange, maxRange);


string part = File.ReadAllText(@"C:\temp\read.txt").Substring(randomIndexStart, randomIndexLength); 

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多