Untitled
unknown
csharp
2 years ago
3.9 kB
6
Indexable
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;
using System.CodeDom;
namespace Lab4
{
internal class Program
{
const string CFd = "..\\..\\U1.txt";
const string CFr = "..\\..\\Rezultatai.txt";
static void Main(string[] args)
{
char[] skyrikliai = { ' ', '.', ',', '!', '?', ':', ';', '(', ')', '-', '~', '\t' };
Apdoroti(CFd, CFr, skyrikliai);
PradiniaiDuomenys(CFd);
}
/// <summary>
/// Pradiniu duomenu parodymas
/// </summary>
/// <param name="fv">failo duomenys</param>
static void PradiniaiDuomenys(string fv)
{
string[] lines = File.ReadAllLines(fv, Encoding.UTF8);
foreach (string line in lines)
{
if (line.Length > 0)
{
Console.WriteLine(line);
}
}
}
/// <summary>
/// Apdoroja teksta
/// </summary>
/// <param name="fv">pradiniai duomenys</param>
/// <param name="fvr">apdorotas tekstas</param>
/// <param name="skyrikliai">simboliai</param>
static void Apdoroti(string fv, string fvr, char[] skyrikliai)
{
string[] lines = File.ReadAllLines(fv, Encoding.UTF8);
using (var fr = File.CreateText(fvr))
{
string naujas = "";
foreach (string line in lines)
{
if (line.Length > 0)
{
naujas = SkirtingiSimboliai(line, skyrikliai);
}
if (naujas.Length > 0)
{
fr.WriteLine(naujas);
}
}
}
}
/// <summary>
/// Metodas kuris ismeta zodzius su skirtingais simboliais
/// </summary>
/// <param name="line">tekstas</param>
/// <param name="skyrikliai">simboliai</param>
/// <returns></returns>
static string SkirtingiSimboliai(string line, char[] skyrikliai)
{
string naujas = line;
string[] parts = line.Split(skyrikliai, StringSplitOptions.RemoveEmptyEntries);
for (int i = 0; i < parts.Length; i++)
{
int dydis = 0;
char[] zparts = parts[i].ToCharArray();
for (int j = 0; j < zparts.Length; j++)
{
for (int k = 0; k < zparts.Length; k++)
{
if (zparts[j] == zparts[k] && j != k)
{
dydis = 0;
j = zparts.Length;
break;
}
else if (j != k && zparts[j] != zparts[k])
{
dydis = 1;
continue;
}
}
}
if (dydis == 1)
{
int pos = naujas.IndexOf(parts[i]);
//if (naujas.IndexOf(parts[i], pos + parts[i].Length) == -1)
//{
// naujas = naujas.Remove(naujas.IndexOf(parts[i]), parts[i].Length);
//}
if (pos + parts[i].Length < naujas.Length)
Console.WriteLine("{1} >{0}< {2}", naujas[pos + parts[i].Length], parts[i], naujas.IndexOf(parts[i], pos + parts[i].Length));
naujas = naujas.Remove(naujas.IndexOf(parts[i]), parts[i].Length);
}
}
return naujas;
}
}
}Editor is loading...
Leave a Comment