Windows Forms додаток для аналізу тексту з демонстрацією на JavaScript
Програма "Аналізатор речень" - це Windows Forms додаток для аналізу тексту, який дозволяє:
Спробуйте функціонал програми прямо в браузері (реалізовано на JavaScript):
public partial class Form1 : Form { private readonly char[] _wordSeparators = { ' ', ',', '.', '!', '?', ';', ':', '\t', '\n', '\r', '(', ')', '[', ']', '{', '}', '"', '\'' }; public Form1() { InitializeComponent(); tabControl1.SelectedIndexChanged += tabControl1_SelectedIndexChanged; txtSentence.TextChanged += TextBox_TextChanged; txtLetter.TextChanged += TextBox_TextChanged; } }
private void ShowWordsWithLetter() { string sentence = txtSentence.Text; string letter = txtLetter.Text; if (string.IsNullOrEmpty(sentence) || string.IsNullOrEmpty(letter)) { txtResult1.Text = "Будь ласка, введіть речення та літеру!"; return; } string[] words = sentence.Split(_wordSeparators, StringSplitOptions.RemoveEmptyEntries); var result = words .Where(w => w.IndexOf(letter, StringComparison.OrdinalIgnoreCase) >= 0) .ToArray(); txtResult1.Text = result.Length > 0 ? string.Join(" ", result) : "Немає слів із такою літерою."; }
const wordSeparators = [' ', ',', '.', '!', '?', ';', ':', '\t', '\n', '\r']; function showWordsWithLetter() { const sentence = document.getElementById('sentenceInput').value; const letter = document.getElementById('letterInput').value; if (!sentence || !letter) { showResult('With', 'Будь ласка, введіть речення та літеру!'); return; } const words = splitSentence(sentence); const result = words.filter(word => word.toLowerCase().includes(letter.toLowerCase())); const resultText = result.length > 0 ? `Слова з літерою '${letter}':\n${result.join(', ')}\n\nВсього: ${result.length} слово(в)` : `Слів з літерою '${letter}' не знайдено`; showResult('With', resultText); switchTab('wordsWith'); }
function splitSentence(sentence) { let words = sentence; wordSeparators.forEach(separator => { words = words.split(separator).join('|'); }); return words.split('|') .filter(word => word.length > 0); } function showResult(type, text) { document.getElementById('result' + type).textContent = text; } function switchTab(tabName) { // Видаляємо активний клас з усіх вкладок document.querySelectorAll('.tab').forEach(tab => { tab.classList.remove('active'); }); document.querySelectorAll('.tab-content').forEach(content => { content.classList.remove('active'); }); // Додаємо активний клас до обраної вкладки document.querySelector(`[onclick="switchTab('${tabName}')"]`).classList.add('active'); document.getElementById(tabName).classList.add('active'); }