如何读取文本文件中的文本块
Posted
技术标签:
【中文标题】如何读取文本文件中的文本块【英文标题】:How To read Block of text in a text file 【发布时间】:2022-01-07 20:17:16 【问题描述】:我有一个文件,我必须在其中读取 startscriptexpression$ 和 Finish scriptExpression$ 之间的文本,并且还要读取 startupdatedescription$ 和 startupdatedescription$[
问题是我想以更简洁的格式重新编写代码。
My Code:
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
namespace Vesrion
class Program
static void Main(string[] args)
string path = @"C:\Users\Development\Desktop\Read\Test.txt";
using (var reader = new StreamReader(path))
var textInBetween = new List<string>();
var ListOFDescription = new List<string>();
string NewString = "";
while (!reader.EndOfStream)
var line = reader.ReadLine();
//Reads First line,
switch (line)
case "StartScriptExpression$":
continue;
case "FinishScriptExpression$":
if (line.Contains("FinishScriptExpression$"))
line = "";
string Something = string.Join("", textInBetween);
textInBetween = line.Split(',').ToList();
string[] lines = Something.Split(
new string[] Environment.NewLine ,
StringSplitOptions.None);
foreach (var S in lines)
ListOFDescription.Add(S);
Console.WriteLine(S);
NewString += ListOFDescription;
break;
case "StartUpdateDescription$":
//Console.WriteLine(Environment.NewLine);
continue;
case "FinishUpdateDescription$":
// Console.WriteLine(Environment.NewLine);
continue;
default:
textInBetween.Add(line);
//Console.WriteLine(line);
break;
开始和结束表达式中的文本必须在字符串数组列表中。
startupdatedescription 和 finishupdatedescription 中的文本必须是字符串。
.
【问题讨论】:
不确定,但使用很少的 LINQ 方法和正则表达式似乎可以按预期工作。在这里试试:dotnetfiddle.net/pxBAMv 看起来很棒,但我希望来自 foreach 的 sql 命令位于单个字符串中,例如 [0] 创建表..... [1] 创建表..... [2 ]更改表注册...... [3]添加自动编号...... 您想将 4 个字符串(命令)合并为 1 个字符串吗? 列表中 startscriptexpression 和 finishscriptexpression 之间的最终输出必须如下: [0]- CREATE TABLE [CompanyBranch]([CompanyBranchID] [int] IDENTITY(1,1) ..... [ 1]- CREATE TABLE [CompanyBranchDept]([CompanyBranchDeptID] [int] IDENTITY(1,1) .. [2]-ALTER TABLE REGISTRATION_FILE_REFERENCING ADD BranchLink bit [3]-ALTER TABLE EASY_FILE ADD Remarks varchar(250) 我想将所有开始和结束表达式连接成 1 个字符串。 【参考方案1】:一种方法是使用正则表达式https://dotnetfiddle.net/pxBAMv
【讨论】:
正如目前所写,您的答案尚不清楚。请edit 添加其他详细信息,以帮助其他人了解这如何解决所提出的问题。你可以找到更多关于如何写好答案的信息in the help center。以上是关于如何读取文本文件中的文本块的主要内容,如果未能解决你的问题,请参考以下文章