Mọi người ơi, cho mình hỏi chút, mình có 1 bài toán tìm ra từ khác nhau cho 2 chuỗi, ví dụ: mình có 2 chuỗi string: s1= “Hôm nay là một ngày TRỜI rất đẹp”, s2=“Hôm nay là một ngày rất đẹp”. có cách nào kiểm tra để biết s2 chỉ khác chữ “trời” so với s1 k ạ?
string s1 = "Hôm nay là một ngày trời rất đẹp";
string s2 = "Hôm nay là một ngày rất đẹp";
// Chia chuỗi thành mảng các từ
string[] words1 = s1.Split(' ');
string[] words2 = s2.Split(' ');
var differentWords = words1.Except(words2, StringComparer.OrdinalIgnoreCase);
Hiện mình đã thử lệnh Except thì nó đã trả kết quả là chữ “trời”. Nhưng nếu s2=" Hôm nay là một ngày rất đẹp trời" thì kết quả lệnh trên sẽ trả về là differentWords = rỗng.
Mình nói rõ hơn về output case này là
s1=“Hôm nay là một ngày trời rất đẹp”,
s2="“Hôm nay là một ngày [1] rất đẹp trời [2]” => thì cả 2 output: trời [1 - bị xóa], trời [2 - được thêm] hoặc đưa ra output là “rất đẹp trời” đều được chấp nhận.
Cảm ơn mọi người rất nhiều ạ.
À, bài toán của mình s1, s2 rất lớn (cỡ 1 đến vài trang A4), nhưng số lượng sai là không nhiều.