Asp.net 使用c#的文本文件?
我尝试了以下示例:Asp.net 使用c#的文本文件?,asp.net,Asp.net,我尝试了以下示例: public string TextFileProcess(string strReadtext, int nMinLine, int nMaxLine) { string strcount = string.Empty; List<string> lstResults = new List<string>(); lstResults.Add(null); string strpa
public string TextFileProcess(string strReadtext, int nMinLine, int nMaxLine)
{
string strcount = string.Empty;
List<string> lstResults = new List<string>();
lstResults.Add(null);
string strpattern= @"(?<=[\.!\?])+";
string[] strSplitlines = Regex.Split(strReadtext, strpattern);
string strresults=null;
foreach(string strsplittextsentence in strSplitlines)
{
string strsplittext= Regex.Replace(strsplittextsentence, @"[\s\r\n]+", " ");
lstResults.Add((strsplittext));
for(int i=1; i<lstResults.Count; i++)
{
strcount = lstResults[i] + lstResults[i - 1];
}
if(strsplittext.Length<=nMinLine)
{
if(strcount.Length <= nMaxLine)
{
strresults += strcount;
}
else
{
if(nMinLine <= strsplittext.Length & nMaxLine >= strsplittext.Length)
{
strresults = strsplittext;
Console.WriteLine(strresults + Environment.NewLine);
}
}
//lstResults.Clear();
}
}
return strresults;
}
公共字符串TextFileProcess(字符串streadtext、int-nMinLine、int-nMaxLine)
{
string strcount=string.Empty;
List lstResults=新列表();
lstResults.Add(空);
string strpattern=@“(?这里我假设您希望找到符合条件的前1个、2个或更多连续句子
作为练习,您还可以添加一个布尔值以退出(中断)第一个循环,以防从未达到最小长度
以下代码将返回预期的输出
public static string MyTextFileProcess(string strReadtext, int nMinLine, int nMaxLine)
{
string strcount = string.Empty;
List<string> lstResults = new List<string>();
lstResults.Add(null);
string strpattern = @"(?<=[\.!\?])+";
string[] strSplitlines = Regex.Split(strReadtext, strpattern);
string strresults = null;
for (int i = 0; i < strSplitlines.Length; i++)
{
string consecutive = "";
for (int j = i; j < strSplitlines.Length; j++)
{
string strsplittext = Regex.Replace(strSplitlines[j], @"[\s\r\n]+", " ");
consecutive += strsplittext;
int testLenght = consecutive.Length;
if (consecutive.Length> nMaxLine)
{
break;
}
if (testLenght >= nMinLine && testLenght <= nMaxLine)
{
strresults = consecutive;
Console.WriteLine(consecutive + Environment.NewLine);
return strresults;
}
}
}
return strresults;
}
公共静态字符串MyTextFileProcess(字符串streadtext、int-nMinLine、int-nMaxLine)
{
string strcount=string.Empty;
List lstResults=新列表();
lstResults.Add(空);
字符串strpattern=@“(?我假设
- 您希望返回所有符合您条件的匹配句子(因此我更改了返回类型),并且
你想考虑空间——你故意不修剪个别句子。
我认为以下代码应该可以完成这项工作:
public List TextFileProcess(字符串streadtext、int-nMinLine、int-nMaxLine)
{
List lstResults=新列表();
const string strpattern=@“(?文件中的内容是什么样子的?黑色是白色。白天是黑夜。理解是无知。真相是虚构的。安全是危险。这就是内容file@un幸运的