Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 使用c#的文本文件?_Asp.net - Fatal编程技术网

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幸运的