- 題名: 英単語を抜き出したい
- 日時: 2012/09/13 15:18:25
- ID: 30925
- この記事の返信元:
- (なし)
- この記事への返信:
- [30926] Re[1]: 英単語を抜き出したい2012/09/13 16:18:15
- ツリーを表示
■No30925に返信(K.Mさんの記事)
> 下記以外の方法で高速にできるやり方はないのでしょうか。
ピリオドやアンダーバー、ダブルクォーテーション、数字などといった
「アルファベット以外」の英文構造の扱いが曖昧ですが、とりあえず
正規表現を使ってみては如何でしょうか。
using System;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
using System.Windows.Forms;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
private void button1_Click(object sender, EventArgs e)
{
// 元となる文章
string src = textBox1.Text;
// 単語抜出
var q = from Match w in Regex.Matches(src, @"[a-zA-Z]+") select w.Value;
// 配列として取り出す
string[] words = q.ToArray();
// ListBox で確認
listBox1.DataSource = words;
}
public Form1()
{
InitializeComponent();
}
}
}
ありがとうございました。 こんな簡単なやり方があったんですね。 参考にします。
分類:[.NET]