すみません、単語を単語に変換する簡単なアプリケーションを作ろうとしています。例えば
有効にする = できる 支払い = 支払う
メモ帳のテキストは「支払いを有効にする」でした
上記の 2 つのサンプル ワードを使用していますが、必要なものが得られません。notepad.txtに「有効」と「支払い」を書きました。その後、アプリケーションが起動し、単語を取得します。
アプリケーションは単語のトリミングを開始し、「En」と「ment」をカットして、結果が「able」と「pay」になるようにします。
私のアプリケーションは、単一の単語 "enable" を "able" にトリムできます。と「支払い」を「支払う」にしましたが、「支払い可能」「支払い可能」など2文字以上書くとアプリがうまく動作しませんでした。
ここにユーザーインターフェースの画像があります
これがソースコードです。
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;
namespace KTM'
{
public partial class KTM : Form
{
public string notepad;
public KTM()
{
InitializeComponent();
textBox1.Enabled=false;
button2.Enabled = false;
button3.Enabled = false;
}
void enable()
{
button2.Enabled = true;
button3.Enabled = true;
}
private void button1_Click(object sender, EventArgs e)
{
string dir = Application.StartupPath.ToString();
OpenFileDialog fdlg = new OpenFileDialog();
fdlg.Title = "Open *txt files";
fdlg.InitialDirectory = @dir;
fdlg.Filter = "Text files (*.txt)|*.txt|Text Files (*.txt)|*.txt";
fdlg.FilterIndex = 2;
fdlg.RestoreDirectory = true;
if (fdlg.ShowDialog() == DialogResult.OK)
{
textBox1.Text = fdlg.FileName;
}
else
{
}
}
private void textBox1_TextChanged(object sender, EventArgs e)
{
if (textBox1.Text.Equals(""))
{
}
else
{
enable();
}
}
private void button2_Click(object sender, EventArgs e)
{
notepad = textBox1.Text;
StreamReader sr = new StreamReader(notepad);
string paragraf = sr.ReadToEnd();
sr.Close();
string[] kata = paragraf.Split(' ');
int i = 0;
//MessageBox.Show(kata[0]+" "+kata[1]+" "+kata[2]);
foreach (string ambil in kata)
{
if (kata[i].StartsWith("en"))
{
kata[i] = kata[i].Substring(2);
}
if(kata[i].EndsWith("ment"))
{
int len = kata[i].Length;
int kepake = len - 4;
kata[i] = kata[i].Substring(0, kepake);
}
}
i++;
StreamWriter sw = new StreamWriter(notepad);
i = 0;
foreach (string ambil in kata)
{
sw.Write(kata[i]+" ");
}
i++;
sw.Flush();
sw.Close();
MessageBox.Show("Converted and Saved ","KTM Stemming",MessageBoxButtons.OK,MessageBoxIcon.Information);
}
private void button3_Click(object sender, EventArgs e)
{
notepad = textBox1.Text;
System.Diagnostics.Process.Start(notepad);
}
}
}