1
0

fix: handle "Lab4.AddSurname" edge cases when removing words

This commit is contained in:
Rokas Puzonas 2021-11-23 11:58:35 +02:00
parent 64a56eca2a
commit d790126619
3 changed files with 14 additions and 8 deletions

View File

@ -2,8 +2,10 @@ Arvydas (g. 1964 m. gruodžio 19 d. Kaune) Lietuvos krepšininkas,
olimpinis ir pasaulio čempionas Arvydas, nuo Arvydas
2011 m. spalio 24 d. Lietuvos krepšinio federacijos prezidentas.
Profesionalaus žaidėjo karjerą Arvydas pradėjo 1981 m.
Kauno krepšinio klube "Žalgiris".
Kauno krepšinio klube "Žalgiris". asasd
Arvydas tris sezonus iš eilės (19851987 m.). Arvydas
padėjo komandai iškovoti SSRS krepšinio čempionato aukso medalius.
1982 m. Arvydas SSRS rinktinės Arvydas sudėtyje Arvydas
1982 m. Arvydas as SSRS rinktinės Arvydas sudėtyje Arvydas
dalyvavo pasaulio krepšinio čempionate ir laimėjo auksą.
as

View File

@ -2,9 +2,13 @@
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net6.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<TargetFramework>netcoreapp2.1</TargetFramework>
</PropertyGroup>
<ItemGroup>
<None Update="Duomenys.txt">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
</ItemGroup>
</Project>

View File

@ -55,8 +55,8 @@ namespace Lab4.AddSurname
public static string RemoveWord(string line, string punctuation, string word)
{
string pattern = String.Format(@"([{0}]*){1}[{0}]*", Regex.Unescape(punctuation), Regex.Unescape(word));
return Regex.Replace(line, pattern, "$1");
string pattern = string.Format(@"(^|[{0}]+){1}($|[{0}]+)", Regex.Escape(punctuation), Regex.Escape(word));
return Regex.Replace(line, pattern, "$1");
}
public static void ProcessRemoveWord(string fin, string fout, string punctuation, string word)
@ -65,7 +65,7 @@ namespace Lab4.AddSurname
{
using (StreamReader reader = new StreamReader(fin))
{
string? line = String.Empty;
string line = string.Empty;
while ((line = reader.ReadLine()) != null)
{
writer.WriteLine(RemoveWord(line, punctuation, word));