Найти буквы из файла .txt в файле b.txt C # - PullRequest
1 голос
/ 15 марта 2019

в данный момент я загружаю 2 текстовых файла. В файле «A» у меня есть список букв, а в файле «B» у меня есть пара слов, я читаю 2 файла и добавляю их в список. Цель состоит в том, чтобы в соответствии с буквами файла «A» найти слова из файла «B». Пример:

Содержимое файла 'A': Е В Y О п D р В A

Содержимое файла 'B': ПОБЕДА, COBALT

В этом случае слово, найденное в ПОБЕДЕ

Я использую веб-сервис для выполнения процесса

Это веб-служба:

public class WebService : System.Web.Services.WebService
    {

        [WebMethod]
        public string Leerdata()
        {


            var path = Directory.EnumerateFiles(@"C:\Users\thoma\source\repos\NewShoreApp\NewShoreApp\Data\", "*.txt");

            List<string> list = path.ToList();
            Parallel.ForEach(path, current =>
            {
                string[] lines = File.ReadAllLines(current);

                list.AddRange(lines.ToList());
            });


            return String.Join(",", list);


            }

    }

Это контроллер:

namespace NewShoreApp.Controllers
{
    public class HomeController : Controller
    {
        public ActionResult Index()
        {

            return View();
        }


        [HttpPost]
        public ActionResult Index(HttpPostedFileBase[] files)
        {

            if (ModelState.IsValid)
            {
                try
                {
                    foreach (HttpPostedFileBase file in files)
                    {
                        if (file != null)
                        {
                            var ServerPath = Path.Combine(Server.MapPath("~/Data"), Path.GetFileName(file.FileName));

                            file.SaveAs(ServerPath);
                        }
                    }                    
                    ViewBag.FileStatus = "File uploaded successfully.";
                }

                catch (Exception)   
                {

                    ViewBag.FileStatus = "Error while file uploading.";
                } 

            }
            return View("Index");
        }


    }
}

Это модель:

namespace NewShoreApp.Models
{
    public class Data
    {
        // 
        [DataType(DataType.Upload)]
        [Display(Name = "Upload File")]
        [Required(ErrorMessage = "Please choose file to upload.")]
        public HttpPostedFileBase[] files { get; set; }

    }
}

1 Ответ

2 голосов
/ 15 марта 2019

Просто простой алгоритм для вашей проблемы.

(Вы можете улучшить этот алгоритм, этот алгоритм только для вашей справки)

Процесс сопоставления между файлами "A" и "B" должен быть выполнен, как показано ниже:

  1. Читать слово из файла "B"
  2. Разделить это слово на массив символов
  3. Сравните каждый элемент этого массива символов со всеми символами файла "A".
    • если все символы находятся в файле "A" и в символьном массиве не осталось ни одного другого символа (не найдено в файле "A") то будет принято "Не найдено"
    • если все символы находятся в файле "A" и в массиве символов, другого персонажа не осталось, чтобы соответствовать. Он будет принят за "Найдено"
  4. Получить следующее слово из файла "B"
    • Если в файле "B" есть следующее слово, повторите шаги 2 и 3
    • Если в файле "B" нет следующего слова, значит, вы закончили Процесс сопоставления между файлами "A" и "B". Так что прекратите этот процесс.
...