正規表現
|
|
|
- さなえ さくもと
- 7 years ago
- Views:
Transcription
1 正規表現 正規表現に依りタグを抽出するパターン 使用して居るプログラミング言語に関わらず 文字列内から HTML タグの部分を抽出したり削除したりする事が有る 其の際 正規表現を使用するが 場合に依っては 確実に HTML タグを判別出来ない場合が有る 結局 広く知れ渡って居る正規表現パターンが正確に判別出来るが 他のパターンも含めて数種類のパターンを検証して観る ( 正規表現の説明付きで ) 準備 今回のテストでは 以下の様な文字列を取り扱う事にする 文字列をダブルクォーテーション ( " ) で囲んだり シングルクォーテーション ( ' ) で囲んだり タグの属性値内に更にタグを埋め込んだりして居る 此の画像 <img src="../images/example.png" alt='example.png' title='<img> タグ例 ' /> は <span> テスト画像 </span> です 此の文字列から HTML タグを判別して除去し 以下の様な文字にするパターンを考えて観る事にする 此の画像はテスト画像です パターン 1. テストパターン 1( 不正確なパターン ) <.*?>. は 改行を除く任意の 1 文字 * は 直前の表現の 0 回以上の繰り返しだが *? とする事で更に最短一致 依って < と最初の > で囲まれた任意の 0 文字以上の文字列を意味する 2. テストパターン 2( 不正確なパターン ) <\/?[^>]*> \/ は / 文字其の物 / 丈だと別の意味に成るのでエスケープして居る? は 直前の正規表現の 0 または 1 回の繰り返し [ ] は 文字クラス指定 [ ] 内に列挙した孰れかの 1 文字 ^ は [ ] 内の先頭にあれば [ ] 内に列挙されて居る指定文字以外の 1 文字 * は 直前の表現の 0 回以上の繰り返し -1-
2 依って < と > で囲まれ < の次に / が 0 個か 1 個で 残りが > 以外の文字列の事 言い換えれば テストパターン 1 の <.*?> と同じに成る 3. テストパターン 3( 正確なパターン ) <("[^"]*" '[^']*' [^'">])*> ( ) は 正規表現のグループ化 は 選択 (OR) "[^"]*" は " と次の " で囲まれた部分と謂う意味 此れは 此の部分を 1 個の塊と看做す為 '[^']*' は ' と次の ' で囲まれた部分と謂う意味 此れは 此の部分を 1 つの塊と看做す為 [^'">] は ", ', > 以外の 1 文字 " と " で囲まれた部分や ' と ' で囲まれた部分を 1 個の塊と看做して居るのに 更に " や ' が存在した場合は HTML タグではない 亦 > を除去するのは最短一致させる為で有る 4. テストパターン 4( 正確なパターン ) <(".*?" '.*?' [^'"])*?> 此れは テストパターン 3 の正規表現を書き換えた丈の物なので 此れも正確に HTML タグを判別出来る -2-
3 正規表現の基本 (.NET Framework 編 ) 此処では.NET Framework の正規表現に付いて基本を極く簡単に ( 主に正規表現パターンに付いて ) 説明する 猶.NET Framework の正規表現は Perl5 の正規表現に対応する様にデザインされて居ると謂う事なので Perl の正規表現を理解して居れば問題無い 正規表現で何が出来るか 正規表現は 文字列を検索する為に使用する 正規表現を使うと 可成り複雑な検索が可能で有る 正規表現を利用する主なケースには以下の様な物が挙げられる 文字列内に指定されたパターンと一致する部分が有るか調べる 例えば 入力された文字列が電子メールアドレスとして適当か調べる等 文字列から指定されたパターンと一致する部分を検索 抽出する 例えば 文字列内に有る URL の部分をすべて抜き出す等 文字列から指定されたパターンと一致する部分を探して別の文字列に置換する 例えば 文字列内に有る URL にリンク (<a> タグ ) を付けたり HTML のタグを削除する等 補足 : 此等以外にも 文字列を分割して配列にする場合にも使用出来る 此の場合は Regex.Split メソッドを使う パターンは何の様に書けば良いか? 斯んな文字列が出て来る部分を探して と謂う事を指定するには 其れを表現したパターンを書く必要が有る 適切なパターンを書ける様に成る事が 正規表現を勉強する最大の目標と成るだろう パターンは ファイルの検索等で使用される * や? 等のワイルドカードを御存じの方ならば 此れと同じ様な物だと思って結構で有る 例えば 文字列から或る郵便番号と一致する部分を探し度いとする 其の郵便番号が決まって居り で有るならば パターンは の儘で良い 但し 此の様に探し度い文字列が決まって居るならば 正規表現を使う意味が無い 決まった郵便番号ではなく 郵便番号っぽい文字列を探し度い 詰り 何等かの数字が 3 つ続き -( ダッシュ ) が挟まり 亦数字が 4 つ続く文字列 を探し度いと謂う事で有れば 正規表現が役に立つ 此の様な場合 書く可きパターンは d d d- d d d d と成る ( 別の書き方も出来る ) 詰り d は 何等かの数字 1 文字 を意味する 此の様に正規表現のパターンでは 等の特定の文字列が特別な意味を持って居る 此の様な特別な意味を持つ文字を メタ文字 ( メタキャラクタ ) と呼ぶ 簡単な例.NET で正規表現を扱うには Regex クラスを使う 以下に Regex クラスを使って文字列の検査 抽出 置換を行う簡単な例を示す -3-
4 ' TextBox1 に郵便番号っぽい文字列が含まれて居るか調べる If System.Text.RegularExpressions.Regex.IsMatch( _ TextBox1.Text, " d d d- d d d d") Then Console.WriteLine(" 郵便番号が含まれて居る ") End If ' TextBox1 内の郵便番号っぽい文字列を総て抽出する Dim mc As System.Text.RegularExpressions.MatchCollection = _ System.Text.RegularExpressions.Regex.Matches( _ TextBox1.Text, " d d d- d d d d") For Each m As System.Text.RegularExpressions.Match In mc Console.WriteLine(m.Value) Next ' TextBox1 内の郵便番号っぽい文字列の "-" を削除して で囲む TextBox1.Text = System.Text.RegularExpressions.Regex.Replace( _ TextBox1.Text, "( d d d)-( d d d d)", " $1$2 ") // TextBox1 に郵便番号っぽい文字列が含まれて居るか調べる if (System.Text.RegularExpressions.Regex.IsMatch( d d d- d d d d")) Console.WriteLine(" 郵便番号が含まれて居る "); // TextBox1 内の郵便番号っぽい文字列を総て抽出する System.Text.RegularExpressions.MatchCollection mc = System.Text.RegularExpressions.Regex.Matches( d d d- d d d d"); foreach (System.Text.RegularExpressions.Match m in mc) Console.WriteLine(m.Value); // TextBox1 内の郵便番号っぽい文字列の "-" を削除して で囲む TextBox1.Text = System.Text.RegularExpressions.Regex.Replace( d d d)-( d d d d)", " $1$2 "); メタ文字一覧 以下に良く使われるメタ文字と其の意味を紹介する 詳しくは MSDN の 正規表現言語要素 を参照され度い -4-
5 或る 1 文字を表す文字 ( アトム ) 文字説明使用例.( ピリオド ) s d w 改行文字 ( n) 以外の任意の一文字 ( 但し [] 内ではピリオド文 字 ) 空白文字 改行文字 タブ文字 半角 / 全角スペース文字等 [ f n r t v x85 pz] と同じ ( ちなみに S は s 以外の文字を表す ) 0 から 9 までの数字 全角を含む pnd と同じ ( ちなみに D は d 以外の文字を表す ) 単語に使用される文字 アルファベット 数字 アンダーバー (_) ひらがな カタカナ 漢字等 [ pll plu plt plo pnd ppc plm] と同じ ( 因みに W は w 以外の文字を表す ) r キャリッジリターン u000d と同じ n ラインフィード ( 改行文字 ) u000a と同じ t タブ u0009 と同じ 文字の前に を付けると 其の文字 メタ文字の機能を無効 にするときに使う ( ある文字列内のメタ文字を総て でエス ケープするには Regex.Escape メソッドを使うと良い ) [ ] [] 内のどれか 1 文字 [abc] ならば a か b か c [^ ] [ - ] [^] 内の文字以外の 1 文字 [^abc] ならば a か b か c 以外の文 字 連続した文字範囲の 1 文字 [0-9] ならば 数字 1 文字 [a-za-z] ならば アルファベット 1 文字 u 桁の 16 進数で表される Unicode 文字 x00 2 桁の 16 進数で表される ASCII 文字. 内に任意の 1 文字が 有る箇所にマッチ Visual sbasic Visual と Basic の間に 空白文字が 1 文字有る箇 所にマッチ VB d VB の後に数字が 1 文字 有る箇所にマッチ w 内に単語に使用され る文字が 1 文字が有る箇 所にマッチ r n Windows の改行文字 (CRLF) にマッチ r n Windows の改行文字 (CRLF) にマッチ n t 改行文字 ( n) の後にタ ブが続く箇所にマッチ DOBON.NET DOBON.NET にマッチ VB[2456] VB の後に 2 か 4 か 5 か 6 が続く箇所にマッチ [^ ] 内に 以外の 1 文 字が有る箇所にマッチ VB[24-6] VB の後に 2 か 4 か 5 か 6 が続く箇所にマッチ [ uff61- uff9f] 半角カナ文字の 1 文字に マッチ ( 詳細 ) [ x20- x7f] 半角英数記号文字 (0x20 ~0x7F) の 1 文字にマッ チ -5-
6 文字列内の位置を表す文字 ( アトミックゼロ幅アサーション アンカー 位置指定子 ) 此処で紹介するメタ文字は 文字列内の位置を表現した物で有る 文字とマッチする訳では無い 此処から 文字 ^ $ b 説明 文字列の先頭 文字列の末尾 但し 文字列の末尾が n の時は 其の前と一致 ( 末尾が n でも末尾で一致させるには z を使う ) 単語の境界 ( w と W の間 ) と一致 ( 但し [] 内ではバックスペース文字 ) ( 因みに B は b 以外の境界を表す ) 使用例 ^ d 先頭に有る数字 1 文字にマッチ d$ 末尾に有る数字 1 文字にマッチ bvb b VB が単語として現れる箇所にマッチ 文字の繰り返しを表す文字 ( 量指定子 ) 此処で紹介する量指定子は 文字 ( または グループ ) の繰り返しを表現する物で有る 最長マッチと最短マッチの違いは非常に重要ですが 此れに付いては後述する 文字説明 * 直前の文字が 0 回以上繰り返す + 直前の文字が 1 回以上繰り返す? 直前の文字が 0 回または 1 回繰り返す n,m 直前の文字が n 回以上 m 回以下繰り返す n n, *? 直前の文字が n 回繰り返す 直前の文字が n 回以上繰り返す 使用例 <[^>]*> <> で囲まれた箇所にマッチ <[^>]+> <> 内に 1 文字以上有る箇所にマッチ -? d+ マイナスが付いた数字 あるいは付かない数字にマッチ d2,6 数字が 2 文字以上 6 文字以下続いて居る箇所にマッチ d6 数字が 6 文字続いて居る箇所にマッチ d8, 数字が 8 文字以上続いて居る箇所にマッチ 最短マッチで 0 回以上の繰り返し? は * +? の後につけ <.*?> て最短マッチを表す事が出来る 最短マッチと最長マッチに付いて <> で囲まれた箇所にマッチは 後述 -6-
7 選択 グループ化等を表す文字 此処で紹介するグループ化を使用する主なケースとしては 論理和による選択を行う場合や 前方参照 ( 後述 ) や Match.Groups プロパティでの抽出を行い度い場合等が挙げられる.NET Framework にはグループに名前 ( あるいは番号 ) を付ける事が出来ると謂う特徴が有る グループに名前を付けても付けなくても グループには 1 から連番で番号が付けられる ( 番号 0 はパターン全体です ) 此処では先読み 後読みアサーションも紹介して居るが 此等は少し高度で有る ですので初心者の方は此等を無視していただいても構いませんが 知っておくと可成り役に立つ 因みに 後読みアサーションのパターンとマッチする文字列は固定長でなければならないとするエンジンが多いですが.NET Framework では此の様な制限が無い 文字説明使用例 で区切られた文字列の孰れか ( 論理和 ) ( ) グループ化する箇所 (?<name> ) リンゴ りんご 林檎リンゴまたはりんごまたは林檎にマッチ 山田 ( 太郎 花子 ) 山田太郎または山田花子にマッチ グループに名前 ( あるいは番号 ) を VB(?<ver> d) 付ける ( 因みに < > の代わりに ' VB の後に数字が有る箇所にマッチし 数字を "ver" で括る事も出来る ) と謂うグループ名でキャプチャ (?: ) キャプチャしないグループ (?= ) (?! ) (?<= ) (?<! ) 山田 (?: 太郎 花子 ) 山田太郎または山田花子にマッチするが 太郎または花子をキャプチャしない d+(?=%) 直後に此のパターンが現れる事を確後ろに % が続く数字の連続にマッチ 但し % はマ認する ( ゼロ幅の肯定的先読みアサッチした箇所に含まれないし グループとしてキャプーション ) チャもされない 直後に此のパターンが現れない事を d+(?!%) 確認する ( ゼロ幅の否定的先読みア後ろに % が来ない数字の連続にマッチ サーション ) (?<= ) d+ 直前に此のパターンが現れる事を確 に続く数字の連続にマッチ 但し はマッチし認する ( ゼロ幅の肯定的後読みアサた箇所に含まれないし グループとしてキャプチャもーション ) されない 直前に此のパターンが現れない事を (?<! ) d+ 確認する ( ゼロ幅の否定的後読みア前に がない数字の連続にマッチ サーション ) 前方参照 ( 後方参照 ) を表す文字 グループ化してキャプチャした文字列を後から参照する事が出来る 此れが前方参照 ( 後方参照 ) で有る 此れに依って キャプチャした文字列をパターンに埋め込む様な事が出来る -7-
8 文字説明使用例 number k<name> 番号が number のグループと一致した文字列 名前が name のグループと一致した文字列 ( 因みに < > の代わりに ' で括る事も出来る ) <(H d)>.*?</ 1> <H> タグで囲まれた箇所にマッチ <(?<tag>h d)>.*?</ k<tag>> <H> タグで囲まれた箇所にマッチ 置換パターンで使用出来る特殊文字 前方参照 ( 後方参照 ) と同じ様に置換パターン内で以下の様な特殊文字を使用する事が出来る 文字説明 $number 番号が number のグループと一致した文字列 $name 名前が name のグループと一致した文字列 $& パターン全体と一致した文字列 良く使われるオプション オプションを指定する事も出来る オプションを指定するとメタ文字の意味が多少変わる物も有る.NET ではオプションを指定するのに RegexOptions 列挙体を使用する ( インラインで使用する方法も有るが 此処では紹介しません ) 以下に良く使われる重要なオプションを示す RegexOptions 列挙体のメンバ IgnoreCase Singleline Multiline ECMAScript CultureInvariant Compiled 説明 大文字と小文字を区別しない.( ピリオド ) の意味を変更し n を含めた総ての文字と一致する様にする ^ と $ の意味を変更し 文字列全体の先頭と末尾だけでなく 行の先頭と末尾にも一致する様にする 具体的には ^ は n の後 $ は n の前 ( 改行文字が r n であったとしても ) にも一致する様に成る ^ と $ の代わりに A と Z を使用すると Multiline の影響を受けずに文字列全体の先頭と末尾に一致させる事が出来る ECMAScript 準拠の動作とする 此の事で 一部のメタ文字の意味が変更される 例えば w は [a-za-z_0-9] と同じに s は [^ f n r t v] と同じに d は [0-9] と同じに成る 其の他詳しくは ECMAScript と標準一致の動作の比較 言語の違いを無視する 正規表現をコンパイルして実行速度を上げる 但し 起動時間は長く成る 最長マッチと最短マッチ 最長マッチと最短マッチの違いは非常に重要ですので 此処で説明しておきます -8-
9 例えば カギかっこ ( ) で囲まれた文字列を抽出する為に次の様なパターン ( コード ) を書いたとする Dim mc As System.Text.RegularExpressions.MatchCollection = _ System.Text.RegularExpressions.Regex.Matches( _ TextBox1.Text, ".* ") System.Text.RegularExpressions.MatchCollection mc = System.Text.RegularExpressions.Regex.Matches( "); 此の様なパターンでは カギかっこが複数あった場合 問題が起こります 例えば TextBox1 に " あ い う " と入力されて居るならば マッチする文字列は " あ い う " の 1 つだけで有る " あ " " い " " う " の 3 か所にマッチする様にするには パターンを ".*? " と書き換えます 詰り "*" の後ろに "?" を付けて 最短マッチにする "?" を付けないと最長マッチに成るので 一致する箇所が最も長く成る様な方法で検索が行われます 因みに上記の様な例で有れば 最短マッチにしなくても " [^ ]* " と書けばほぼ同じ事が出来る 参考 :.NET Framework の正規表現正規表現言語要素 正規表現に依るタグ抽出 (.NET Framework 編 ) 正規表現を使って文字列の検索し 検索された文字列を取得するには Regex クラスと Match メソッド ( または Matchs メソッド ) を使用する 一致した要素は Match オブジェクトとして返されます メールアドレスを抽出する 次の例では TextBox1 に入力された文字列からメールアドレスっぽい文字列を総て検索し 表示する 此処で使用して居る正規表現パターンは Regular-Expressions.info で紹介されて居る物で有る 'Regex オブジェクトを作成 Dim r As New System.Text.RegularExpressions.Regex( _ " b[a-z0-9._%+-]+@[a-z0-9.-]+.[a-z]2,4 b", _ System.Text.RegularExpressions.RegexOptions.IgnoreCase) 'TextBox1.Text 内で正規表現と一致する対象を 1 つ検索 Dim m As System.Text.RegularExpressions.Match = r.match(textbox1.text) ' 次の様に一致する対象を総て検索する事も出来る 'Dim mc As System.Text.RegularExpressions.MatchCollection = _ ' r.matches(textbox1.text) While m.success ' 一致した対象が見つかったときキャプチャした部分文字列を表示 -9-
10 Console.WriteLine(m.Value) ' 次に一致する対象を検索 m = m.nextmatch() End While //Regex オブジェクトを作成 System.Text.RegularExpressions.Regex r = new b[a-z0-9._%+-]+@[a-z0-9.-]+.[a-z]2,4 b", System.Text.RegularExpressions.RegexOptions.IgnoreCase); //TextBox1.Text 内で正規表現と一致する対象を 1 つ検索 System.Text.RegularExpressions.Match m = r.match(textbox1.text); // 次の様に一致する対象を総て検索する事も出来る //System.Text.RegularExpressions.MatchCollection mc = r.matches(textbox1.text); while (m.success) // 一致した対象が見つかったときキャプチャした部分文字列を表示 Console.WriteLine(m.Value); // 次に一致する対象を検索 m = m.nextmatch(); HTML 内の <H> タグを抽出する 次にグループ化の例を示す 正規表現でグループ化を指定するには (?<( 数字または名前 )>) の様にする 正規表現に一致したグループは Match クラスの Groups プロパティで取得出来る 猶 MSDN には HREFS のスキャン と謂う例や URL 情報の抽出 と謂う例が紹介されて居る 以下に TextBox1 に入力された文字列を検索して HTML の H タグ (H1 H2 H3...) と其の部分のテキストを抽出する例を示す 先程の例では Match メソッドを使っていましたが 今回は Matches メソッドを使ってみます もちろん先ほどと同じ様に Match メソッドを使っても構いません ' 正規表現パターンとオプションを指定して Regex オブジェクトを作成 Dim r As New System.Text.RegularExpressions.Regex( _ "<(h[1-6]) b[^>]*>(.*?)</ 1>", _ System.Text.RegularExpressions.RegexOptions.IgnoreCase Or _ System.Text.RegularExpressions.RegexOptions.Singleline) 'TextBox1.Text 内で正規表現と一致する対象を総て検索 Dim mc As System.Text.RegularExpressions.MatchCollection = _ r.matches(textbox1.text) For Each m As System.Text.RegularExpressions.Match In mc ' 正規表現に一致したグループの文字列を表示 Console.WriteLine(" タグ :" + m.groups(1).value + vbcrlf + _ -10-
11 " タグ内の文字列 :" + m.groups(2).value) Next // 正規表現パターンとオプションを指定して Regex オブジェクトを作成 System.Text.RegularExpressions.Regex r = new b[^>]*>(.*?)</ 1>", System.Text.RegularExpressions.RegexOptions.IgnoreCase System.Text.RegularExpressions.RegexOptions.Singleline); //TextBox1.Text 内で正規表現と一致する対象を総て検索 System.Text.RegularExpressions.MatchCollection mc = r.matches(textbox1.text); foreach (System.Text.RegularExpressions.Match m in mc) // 正規表現に一致したグループと位置を表示 Console.WriteLine(" タグ :" + m.groups[1].value + " n タグ内の文字列 :" + m.groups[2].value + " n タグの位置 :" + m.groups[1].index); HTML 内のリンクを抽出する 下の例は TextBox1 に入力された文字列を検索して <a href="...">...</a> でリンクされて居るリンク先の URL とリンクされて居る文字列を総て調べ 結果を出力する物で有る 今までの例ではインスタンスメソッドの Matches( あるいは Match) を使用していましたが 今回は静的メソッドを使ってみます 'TextBox1.Text 内で正規表現と一致する対象を総て検索 Dim mc As System.Text.RegularExpressions.MatchCollection = _ System.Text.RegularExpressions.Regex.Matches( _ TextBox1.Text, _ "<a s+[^>]*href s*= s*(?:(?<quot>[""'])(?<url>.*?) k<quot> " + _ "(?<url>[^ s>]+))[^>]*>(?<text>.*?)</a>", _ System.Text.RegularExpressions.RegexOptions.IgnoreCase Or _ System.Text.RegularExpressions.RegexOptions.Singleline) For Each m As System.Text.RegularExpressions.Match In mc ' 正規表現に一致したグループを表示 Console.WriteLine("URL:0", m.groups("url").value) Console.WriteLine(" テキスト :0", m.groups("text").value) Next //TextBox1.Text 内で正規表現と一致する対象を総て検索 System.Text.RegularExpressions.MatchCollection mc = System.Text.RegularExpressions.Regex.Matches( s+[^>]*href s*= s*(?:(?<quot>[""'])(?<url>.*?) k<quot> " s>]+))[^>]*>(?<text>.*?)</a>", -11-
12 System.Text.RegularExpressions.RegexOptions.IgnoreCase System.Text.RegularExpressions.RegexOptions.Singleline); foreach (System.Text.RegularExpressions.Match m in mc) // 正規表現に一致したグループを表示 Console.WriteLine("URL:0", m.groups["url"].value); Console.WriteLine(" テキスト :0", m.groups["text"].value); 同じ番号 ( 名前 ) のグループが複数有る時 同じ番号のグループに複数の箇所が一致する場合が有る 例えば ( d)+ と謂うパターンで 123 を検索すると グループ 1 に の 3 つの文字が一致する 亦.NET Framework ではグループに名前や番号を付ける事が出来るので 同じ名前や番号のグループを複数作る事も出来る 此の様に同じ名前や番号のグループが複数あった場合どう成るかに付いて簡単に説明する 此の様な場合 グループの値としては最後に一致したグループの値が入ります しかし キャプチャされた総ての値はグループの Captures コレクションに格納されて居る 具体的にどう成るか 例を示す 以下の例では パターンを ( d)+ とし 123 と謂う文字列を検索して居る Dim r As New System.Text.RegularExpressions.Regex("( d)+") Dim mc As System.Text.RegularExpressions.MatchCollection = r.matches("123") For Each m As System.Text.RegularExpressions.Match In mc For i As Integer = 0 To m.groups.count - 1 Console.WriteLine(" グループ 0:1", i, m.groups(i)) For l As Integer = 0 To m.groups(i).captures.count - 1 Console.WriteLine(" キャプチャ 0:1", l, m.groups(i).captures(l).value) Next Next Next System.Text.RegularExpressions.Regex r = new d)+"); System.Text.RegularExpressions.MatchCollection mc = r.matches("123"); foreach (System.Text.RegularExpressions.Match m in mc) for (int i = 0; i < m.groups.count; i++) Console.WriteLine(" グループ 0:1", i, m.groups[i]); for (int l = 0; l < m.groups[i].captures.count; l++) Console.WriteLine(" キャプチャ 0:1", l, m.groups[i].captures[l].value); -12-
13 此のプログラムを実行すると 以下の様に表示されます グループ 0:123 キャプチャ 0:123 グループ 1:3 キャプチャ 0:1 キャプチャ 1:2 キャプチャ 2:3 此の結果の様に グループ 1 には最後にキャプチャされた 3 が入りますが グループ 1 の Captures にはキャプチャされた総ての結果が入って居る 正規表現に依る文字列置換 (.NET Framework 編 ) 正規表現を使って文字列の置換を行うには Regex クラスの Replace メソッドを使用する 此処ではいくつかの具体例を紹介する MSDN にも 日付形式の変更 と謂う例が載って居るので そちらも参考にしてください URL にリンクを付ける 次の例では TextBox1 に入力された文字列内の URL に自動的にリンク (<a> タグ ) をつけて TextBox1 に結果を表示して居る 'URL にリンクを付ける TextBox1.Text = System.Text.RegularExpressions.Regex.Replace( _ TextBox1.Text, _ "s?https?://[-_.!~*'()a-za-z0-9;/?:@&=+$,%#]+", _ "<a href=""$&"">$&</a>") //URL にリンクを付ける TextBox1.Text = System.Text.RegularExpressions.Regex.Replace( "<a href= "$& ">$&</a>"); 行末の空白文字を削除する 次の例では TextBox1 に入力された文字列から総ての行末の空白文字 ( 半角スペース 全角スペース タブ ) を削除して居る 先程の例では静的メソッドの Replace を使いましたが 此処ではインスタンスメソッドを使ってみます ' パターンを指定して Regex オブジェクトを作成 -13-
14 Dim r As New System.Text.RegularExpressions.Regex("[ t]+(?= r? n $)") ' 行末の空白文字を削除 TextBox1.Text = r.replace(textbox1.text, "") // パターンを指定して Regex オブジェクトを作成 System.Text.RegularExpressions.Regex r = new System.Text.RegularExpressions.Regex(@"[ t]+(?= r? n $)"); // 行末の空白文字を削除 TextBox1.Text = r.replace(textbox1.text, ""); 因みに パターンを "[ t]+$" として RegexOptions.Multiline オプションを付けたとしても 改行文字が " r n" ならば 行末の空白文字を削除する事は出来ません なぜならば $ は n の前 r の後ろとマッチする為で有る 行頭に引用記号を挿入する 次の例では TextBox1 に入力された文字列の行頭に < を挿入して居る パターンの ^ は 0 幅ですが 置換に利用出来る ' 行頭に引用記号 "> " を挿入する TextBox1.Text = System.Text.RegularExpressions.Regex.Replace( _ TextBox1.Text, _ "^", _ "> ", _ System.Text.RegularExpressions.RegexOptions.Multiline) // 行頭に引用記号 "> " を挿入する TextBox1.Text = System.Text.RegularExpressions.Regex.Replace( TextBox1.Text, "^", "> ", System.Text.RegularExpressions.RegexOptions.Multiline); 連続する同じ行を削除する 次の例では TextBox1 に入力された文字列から連続する同じ行を削除して居る 詰り 同じ内容の行が連続して居る場合 其れを 1 行だけにする ' 連続する同じ行を削除 TextBox1.Text = System.Text.RegularExpressions.Regex.Replace( _ TextBox1.Text, _ "^(.*)( r? n 1)+$", _ "$1", _ System.Text.RegularExpressions.RegexOptions.Multiline) // 連続する同じ行を削除 TextBox1.Text = System.Text.RegularExpressions.Regex.Replace( -14-
15 r? n 1)+$", "$1", System.Text.RegularExpressions.RegexOptions.Multiline); 日付のフォーマットを変更する 2000/10/22 の様に / で区切られて居る形式の日付を 2000 年 10 月 22 日 と変更する例を示す '"2000/10/22" の様な形式を "2000 年 10 月 22 日 " の様に変換する TextBox1.Text = System.Text.RegularExpressions.Regex.Replace( _ TextBox1.Text, _ "(?<year>(?: d d)? d d)/(?<month> d d?)/(?<day> d d?)", _ "$year 年 $month 月 $day 日 ") //"2000/10/22" の様な形式を "2000 年 10 月 22 日 " の様に変換する TextBox1.Text = System.Text.RegularExpressions.Regex.Replace( d d)? d d)/(?<month> d d?)/(?<day> d d?)", "$year 年 $month 月 $day 日 "); MatchEvaluator デリゲートを使用する MatchEvaluator デリゲートを使用すれば もっと複雑な置換が可能で有る 次の例では 日付の部分を 1 日増やした日付と置換して居る 'Button1 の Click イベントハンドラ Private Sub Button1_Click(ByVal sender As Object, _ ByVal e As System.EventArgs) Handles Button1.Click ' 日付の部分 ("2000/10/22" の様な形式 ) を 1 日増やす TextBox1.Text = System.Text.RegularExpressions.Regex.Replace( _ TextBox1.Text, _ "(?<year>(?: d d)? d d)/(?<month> d d?)/(?<day> d d?)", _ New System.Text.RegularExpressions.MatchEvaluator(AddressOf IncrementDay)) End Sub 'MatchEvaluator デリゲートメソッド Private Shared Function IncrementDay( _ ByVal m As System.Text.RegularExpressions.Match) As String Dim dt As DateTime ' マッチした文字列を日時に変換 If DateTime.TryParse(m.Value, dt) Then '1 日増やす Return dt.adddays(1).toshortdatestring() Else -15-
16 Return m.value End If End Function //Button1 の Click イベントハンドラ private void Button1_Click(object sender, System.EventArgs e) // 日付の部分 ("2000/10/22" の様な形式 ) を 1 日増やす TextBox1.Text = System.Text.RegularExpressions.Regex.Replace( d d)? d d)/(?<month> d d?)/(?<day> d d?)", new System.Text.RegularExpressions.MatchEvaluator(IncrementDay)); //MatchEvaluator デリゲートメソッド private static string IncrementDay(System.Text.RegularExpressions.Match m) DateTime dt; // マッチした文字列を日時に変換 if (DateTime.TryParse(m.Value, out dt)) //1 日増やす return dt.adddays(1).toshortdatestring(); else return m.value; -16-
正規表現概要
正規表現 正規表現の概要 此処では.NET Framework の正規表現に付いて 主に正規表現パターンに付いて 基本を極く簡単に説明する 猶.NET Framework の正規表現は Perl5 の正規表現に対応する様にデザインされて居るので Perl の正規表現を理解して居れば問題は無い ( 勿論 理解して居なくても問題は無い ) 正規表現で出来る事 正規表現は 文字列を検索する為に使用する 正規表現を使うと
正規表現応用
正規表現 正規表現を使って文字列が或る形式と一致するか調べる 指定された正規表現のパターンと一致する対象が入力文字列内で見付かるか何うかを調べるには Regex クラスの IsMatch メソッドを使用する 此処では IsMatch メソッドを使った例を幾つか紹介する 猶 正規表現のパターンと一致する個所を探し 見付かれば 其の箇所を抽出する方法は 正規表現を使って文字列を検索し 抽出する で紹介して居る
このルールをそのまま正規表現として書くと 下記のようになります ^A[0-9]{2}00[0-9]{3}([0-9]{2})?$ ちょっと難しく見えるかもしれませんが 下記のような対応になっています 最初 固定 年度 固定 通番 ( 枝番 ) 最後 ルール "A" 数字 2 桁 0 を 2 桁 数字
正規表現について 作成日 : 2016/01/21 作成者 : 西村 正規表現? 正規表現 (Regular Expression Regex) というと難しいもののように感じますが 正規表現 というのは 文字のパターンを表したもの です ( 例 ) これはソエルで使用している見積書の番号です A1500033 この番号は 下記のルールで付けられています 固定 年度 固定 通番 ( 枝番 ) ルール
ICONファイルフォーマット
グラフィックス 画像フォーマットエンコーダパラメータ 様々なフォーマットで画像を保存 Bitmap クラスを用いる事でビットマップ JPEG GIF PNG 等様々なフォーマットの画像を読み込み操作する事が出来る 更に Bitmap クラスや Graphics コンテナを用いて描画処理等を施したイメージをファイルに保存する事も出来る 此の時 読み込めるフォーマット同様に保存するフォーマットを選択する事が出来る
グラフィックス
グラフィックス PictureBox の Image プロパティに関する良く有る勘違い PictureBox に画像を表示する方法と仕て PictureBox の Image プロパティを使う方法と Graphics の DrawImage メソッドを使う方法が有るが 此の 2 つの方法を混同し 正しく理解して居ない事が多い様で有る 例えば 下記に列挙する様な状況が 此れに該当する 1.PictureBox
ファイル操作-バイナリファイル
ファイル操作 バイナリ ファイルを読み書きする バイナリファイル ( 即ちテキストファイル以外のファイル ) を読み書きするには FileStream クラス (System.IO 名前空間 ) を利用する FileStream クラスはファイル用のストリームをサポートするクラスで有り Stream クラス (System.IO 名前空間 ) の派生クラスの 1 つで有る 基本的には コンストラクタで指定したファイルのストリームに対して
VB.NET解説
Visual Basic.NET 印刷編 目次 印刷の概要... 2 印刷の流れ... 2 標準の Windows フォーム印刷ジョブの作成... 3 実行時に於ける Windows フォーム印刷オプションの変更... 3 Windows フォームに於ける接続されたプリンタの選択... 4 Windows フォームでのグラフィックスの印刷... 5 Windows フォームでのテキストの印刷...
Java Scriptプログラミング入門 3.6~ 茨城大学工学部情報工学科 08T4018Y 小幡智裕
Java Script プログラミング入門 3-6~3-7 茨城大学工学部情報工学科 08T4018Y 小幡智裕 3-6 組み込み関数 組み込み関数とは JavaScript の内部にあらかじめ用意されている関数のこと ユーザ定義の関数と同様に 関数名のみで呼び出すことができる 3-6-1 文字列を式として評価する関数 eval() 関数 引数 : string 式として評価する文字列 戻り値 :
Userコントロール
User コントロール 初めてのユーザーコントロールの作成 作成したクラスは他のプログラムで再利用出来る為 同じコードを何度も繰り返し作成する必要が無い コントロールも 複数のプロジェクトで再利用出来るクラスで有る 同じユーザーインターフェイスを何度も繰り返してデザインすると謂う経験は 恐らく誰でも有る 例えば 姓と名を入力する為の TextBox コントロールを追加した後で 両方を組み合わせてフルネームを作成するコードを追加する等の作業で有る
ファイル操作
ファイル操作 TextFieldParser オブジェクト ストリームの読込と書込 Microsoft.VisualBasic.FileIO 名前空間の TextFieldParser オブジェクトは 構造化テキストファイルの解析に使用するメソッドとプロパティを備えたオブジェクトで有る テキストファイルを TextFieldParser で解析するのは テキストファイルを反復処理するのと同じで有り
ListViewコントロール
ListView コントロール ListView コントロールへ項目を追加 本稿では.NET Framework の標準コントロールで有る ListView コントロール (System.Windows.Forms 名前空間 ) を活用する為に ListView コントロールにデータを追加する方法を紹介する ListView コントロールは データ項目をアイコン表示や詳細表示等に依り一覧表示する為の物で
構造体
構造体 Byte 配列 構造体とコピーする方法 構造体とバイト配列の変換を行うには System.Runtime.InteropServices 名前空間をインポートして置くと便利で有る Imports System.Runtime.InteropServices using System.Runtime.InteropServices; 下記の 3 種類の構造体にバイト配列の値を格納した場合に付いて検証する
ハッシュテーブル
ハッシュテーブル ハッシュテーブル ( 連想配列 ) を使う ハッシュテーブルとは キー (key) と値 (value) のペアを保持して居るコレクションで有る 通常の配列がインデックス番号に依り各値 ( 各要素 ) にアクセス出来るのに比べて ハッシュテーブルでは インデックス番号の代わりにキーを用いて 其の各値にアクセスする事が出来る キーと 其のキーから連想される ( 対応付けられて居る )
プロセス間通信
プロセス間通信 プロセス間通信 (SendMessage) プロセス間通信とは 同一コンピューター上で起動して居るアプリケーション間でデータを受け渡し度い事は時々有る Framework には リモート処理 と謂う方法でデータの受け渡しを行なう方法が有る 此処では 此の方法では無く 従来の方法の API を使用したプロセス間通信を紹介する 此の方法は 送信側は API の SendMessage で送り
VB 資料 電脳梁山泊烏賊塾 音声認識 System.Speech の利用 System.Speech に依るディクテーション ( 音声を文字列化 ).NetFramework3.0 以上 (Visual Studio 2010 以降 ) では 標準で System.Speech が用意されて居るの
音声認識 System.Speech の利用 System.Speech に依るディクテーション ( 音声を文字列化 ).NetFramework3.0 以上 (Visual Studio 2010 以降 ) では 標準で System.Speech が用意されて居るので 此れを利用して音声認識を行うサンプルを紹介する 下記の様な Windows フォームアプリケーションを作成する エディタを起動すると
NotifyIconコントロール
NotifyIcon コントロール システムトレイ ( タスクトレイ ) にアイコンを表示する.NET Framework 2.0 以降の場合は 後述の 2 を観て欲しい Outlook や MSN Messenger 等の様に Windows アプリケーションではシステムトレイ ( タスクトレイ ステータス領域等とも呼ばれる ) にアイコンを表示して アプリケーションの状態を示したり アプリケーションのフォームを表示したりする為のショートカットとして利用する事が出来る.NET
データアダプタ概要
データベース TableAdapter クエリを実行する方法 TableAdapter クエリは アプリケーションがデータベースに対して実行出来る SQL ステートメントやストアドプロシージャで TableAdapter で型指定されたメソッドと仕て公開される TableAdapter クエリは 所有るオブジェクトのメソッドと同様に 関連付けられたメソッドを呼び出す事に依り実行出来る TableAdapter
PYTHON 資料 電脳梁山泊烏賊塾 PYTHON 入門 関数とメソッド 関数とメソッド Python には関数 (function) とメソッド (method) が有る モジュール内に def で定義されて居る物が関数 クラス内に def で定義されて居る物がメソッドに成る ( 正確にはクラスが
PYTHON 入門 関数とメソッド 関数とメソッド Python には関数 (function) とメソッド (method) が有る モジュール内に def で定義されて居る物が関数 クラス内に def で定義されて居る物がメソッドに成る ( 正確にはクラスがインスタンス化されてからメソッドに成る ) # 関数 def test_func(): print('call test_func') #
Visual Basic 資料 電脳梁山泊烏賊塾 コレクション初期化子 コレクション初期化子 初めに.NET 版の Visual Basic では 其れ迄の Visual Basic 6.0 とは異なり 下記の例の様に変数宣言の構文に 初期値を代入する式が書ける様に成った 其の際 1 の様に単一の値
コレクション初期化子 コレクション初期化子 初めに.NET 版の Visual Basic では 其れ迄の Visual Basic 6.0 とは異なり 下記の例の様に変数宣言の構文に 初期値を代入する式が書ける様に成った 其の際 1 の様に単一の値 ( 此処では 10) を代入する丈でなく 2 の配列変数の宣言の様に ブレース { } の中にカンマ区切りで初期値のリストを記述し 配列の各要素に初期値を代入出来る様に成った
ファイル監視
ファイル操作 ファイルやディレクトリの監視 FileSystemWatcher クラス.NET Framework のクラスライブラリには ファイルやディレクトリの作成 変更 削除を監視する為の FileSystemWatcher クラスが System.IO 名前空間に用意されて居る ( 但し Windows 98/Me では利用出来ない ) 此れを利用すると 特定のディレクトリにファイルが作成された
文字列操作と正規表現
文字列操作と正規表現 オブジェクト指向プログラミング特論 2018 年度只木進一 : 工学系研究科 2 文字列と文字列クラス 0 個以上の長さの文字の列 Java では String クラス 操作 文字列を作る 連結する 文字列中に文字列を探す 文字列中の文字列を置き換える 部分文字列を得る 3 String クラス 文字列を保持するクラス 文字列は定数であることに注意 比較に注意 == : オブジェクトとしての同等性
TEXTOS-S: 検索 置換 連立検索置換式を使って 資料をマークし または変形します マークと 変形を同時にすることも可能です 検索式にはリテラル ( 文字列そのもの ) ワイルドカード 正規表現が選択できます 上のテキストボックスに検索式を直接書き込むときは [Ctrl]+[Enter] を押
TEXTOS-S: 検索 置換 連立検索置換式を使って 資料をマークし または変形します マークと 変形を同時にすることも可能です 検索式にはリテラル ( 文字列そのもの ) ワイルドカード 正規表現が選択できます 上のテキストボックスに検索式を直接書き込むときは [Ctrl]+[Enter] を押してください 特殊な文字を書き込むときは Word 文書からコピーするか または Word 文書として保存した検索式をインポートします
VB実用Ⅲ⑩ フリーデータベースⅡ
MySQL の利用 MySQL の ODBC(MyODBC) テキストでは MySQL Connector/ODBC(mysql-connector-odbc-3.51.14-win32.msi) をインストールした場合に付いて解説して居るが 此処では MyODBC(MyODBC-3.51.10-x86-win-32bit.msi) をインストールし myodbc-3.51.06-conv_ujis.zip
書式に示すように表示したい文字列をダブルクォーテーション (") の間に書けば良い ダブルクォーテーションで囲まれた文字列は 文字列リテラル と呼ばれる プログラム中では以下のように用いる プログラム例 1 printf(" 情報処理基礎 "); printf("c 言語の練習 "); printf
情報処理基礎 C 言語についてプログラミング言語は 1950 年以前の機械語 アセンブリ言語 ( アセンブラ ) の開発を始めとして 現在までに非常に多くの言語が開発 発表された 情報処理基礎で習う C 言語は 1972 年にアメリカの AT&T ベル研究所でオペレーションシステムである UNIX を作成するために開発された C 言語は現在使われている多数のプログラミング言語に大きな影響を与えている
DAOの利用
DAO VB2005 で DAO を使用して Excel のデータを取得 Visual Basic 6.0 Dim DB As DAO.Database Dim RS As DAO.Recordset Dim xlfilename As String Dim xlsheetname As String xlfilename = Form1.StatusBar1.Panels(12) & Dir(Form1.StatusBar1.Panels(12)
ブロック パニック
ブロックパニック VB 2005 9 プログラムの概要 壁が迫り来る不思議な空間のオリジナルゲーム ブロックパニック を作成する スタートボタンをクリックし上下左右の矢印キーで白猿を移動させる スペースキーを押すと 向いて居る方向の壁が後退する 左右の壁が合わさると ゲームは終了する 一般的に 実用プログラムに比較するとゲームプログラムは 高度なテクニックを要求される事が多い 此処では ゲームプログラムを作成する事に依り
回文作成支援プログラム
回文作成支援プログラム VB 2005 2 プログラムの概要 原文を 1 字入力する度に 其の回文が順次表示される 即ち AB と入力すると ABA と表示され ABC と入力すると ABCBA と表示される 亦 消去ボタンをクリックすると 原文 及び 回文を消去する事も出来る 終了ボタンをクリックすると プログラムをメモリから消去して終了する 今回の課題項目 単純変数の宣言 (Dim) Windows
VB実用⑦ エクセル操作Ⅰ
VB でエクセル操作 Ⅰ VB 2005 7 プログラムの概要 事務処理に於いて Microsoft 社のスプレッドシートソフトで有るエクセルは データベースソフトで有るアクセスと共に 業界標準 (De Facto Standard) で有ると謂う事が出来る 此処では 其のエクセルを Visual Basic から操作する方法を 重点的に学ぶ 今回は Visual Basic でエクセルを利用する基本と成るオブジェクト生成と
ExcelVBA
EXCEL VBA REGLECASSE YU SATO 目次 はじめに 開発タブの表示 拡張子 VBEの起動と初期設定 モジュールの挿入 削除 プロジェクト モジュール プロシージャ 変数の宣言 (Dim) If~Then For~Next 応用 :If~ThenとFor~Next ボタンの作成 最後に Subプロシージャ 基本説明 セルの指定 (Range) 変数とデータ型 (String,Long)
ルーレットプログラム
ルーレットプログラム VB 2005 4 プログラムの概要 カジノの代表的なゲーム ルーレット を作成する 先ず GO! ボタンをクリックすると ルーレット盤上をボールが回転し 一定時間経過すると ボールが止まり 出目を表示するプログラムを作成する 出目を 1~16 大小 偶数奇数の内から予想して 予め設定した持ち点の範囲内で賭け点を決め 賭け点と出目に依り 1 点賭けの場合は 16 倍 其他は 2
モグラ叩きプログラム
プログラミングの有用性 VB 2005 1 醒めよ!! 遣り度い事を遣るには 先ず 遣らなければ成らない事を遣る! 現に 其の事に気付いて 日々 其の 遣らなければ成らない事 に邁進して居る人間が 居る 寧ろ 其れを愉しんでさえ居る者も居る 然して 着実に 世の中が必要とする技 術を身に付けて行って居る者が居る 併し 何が 遣らなければ成らない事 なのか解らない場合は 現実に対応出来る技術力 を持ち
(Microsoft Word \203v\203\215\203O\203\211\203~\203\223\203O)
21113 Visual Basic を利用したフリーソフト開発 要旨 各自でフリーソフトを作成 インターネット上に公開することを目的とし Visual Basic2008 2010 を使い簡単なアプリの作成に成功した 1. 目的情報化が進んだ現代において 社会に出ていくためにはパソコンの一つや二つ 軽く扱えなければならない さらに 資源の乏しい日本においては今後 情報技術の発展することが望ましいと考える
万年暦プログラム
暦カルキュレータ VB8 プログラムの概要 テキストボックスで指定した年月日より オプションボタンで日付が選択されて居る場合は 何年 又は 何箇月 又は 何日 又は 何週後 又は 前の日付を求める 亦 オプションボタンで日数が選択されて居る場合は 更にテキストボックスで指定した年月日迄の日数を求める オプションボタンの選択状況に依り 入力欄の有効 無効を切り替えると共に コマンドボタンのキャプションを書き換えて
Microsoft Excel操作
Microsoft Excel 操作 Excel ファイルにアクセス リフレクションを利用したレイトバインディングで Excel ファイルを操作 Visual Basic なら CreatObject 関数を使用して 暗黙の遅延バインディングを利用する事に依り 簡単にに実現出来る Excel の操作も C# で実現するには 少し面倒臭い事に成る 事前バインディングでも実装する事も出来るが 事前バインディングだと
回文作成支援プログラム
回文作成支援プログラム VB1 プログラムの概要 原文を 1 字入力する度に 其の回文が順次表示される 即ち AB と入力すると ABA と表示され ABC と入力すると ABCBA と表示される 亦 消去ボタンをクリックすると 原文 及び 回文を消去する事も出来る 終了ボタンをクリックすると プログラムをメモリから消去して終了する 今回の課題項目 単純変数の宣言 (Dim) 標準コントロールの利用
JavaプログラミングⅠ
Java プログラミング Ⅰ 2 回目 ようこそ Java へ 今日の講義で学ぶ内容 画面へのメッセージの表示 文字や文字列 数値を表現するリテラル 制御コードを表すエスケープシーケンス 画面出力の基本形 ソースファイル名 : クラス名.java class クラス名 System.out.println(" ここに出力したい文字列 1 行目 "); System.out.println(" ここに出力したい文字列
sinfI2005_VBA.doc
sinfi2005_vba.doc MS-ExcelVBA 基礎 (Visual Basic for Application). 主な仕様一覧 () データ型 主なもの 型 型名 型宣言文字 長さ 内容 整数型 Integer % 2 バイト -32,768 32,767 長整数型 Long & 4 バイト -2,47,483,648 2,47,483,647 単精度浮動小数点数 Single 型!
AQUOS ケータイ ユーザーガイド
文字を入力する 本機の文字入力は ボタン操作で行います お買い上げ時の入力方 法 (S-Shoin) で説明します 変換候補を引用する ひらがなを入力 引用 連携 項目を選択 変換候補を選択 文字入力の基本操作 文字入力にはダイヤルボタンを利用します 1つのボタンには ボタンに表示されているような複数の文字が割り当てられており 押す回数によって表示される文字が変わります ダイヤルボタンに割り当てられた文字について詳しくは
かんたん携帯9 ユーザーガイド
文字を入力する 本機の文字入力は ボタン操作で行います お買い上げ時の入力方法 (S-Shoin) で説明します 文字入力の基本操作 文字入力にはダイヤルボタンを利用します 1つのボタンには ボタンに表示されているような複数の文字が割り当てられており 押す回数によって表示される文字が変わります ダイヤルボタンに割り当てられた文字について詳しくは 文字入力用ボタン一覧 を参照してください 変換候補を引用する文字入力画面でひらがなを入力引用
.NETプログラマー早期育成ドリル ~VB編 付録 文法早見表~
.NET プログラマー早期育成ドリル VB 編 付録文法早見表 本資料は UUM01W:.NET プログラマー早期育成ドリル VB 編コードリーディング もしくは UUM02W:.NET プログラマー早期育成ドリル VB 編コードライティング を ご購入頂いた方にのみ提供される資料です 資料内容の転載はご遠慮下さい VB プログラミング文法早見表 < 基本文法 > 名前空間の定義 Namespace
このうち ツールバーが表示されていないときは メニューバーから [ 表示 (V)] [ ツールバー (T)] の [ 標準のボタン (S)] [ アドレスバー (A)] と [ ツールバーを固定する (B)] をクリックしてチェックを付けておくとよい また ツールバーはユーザ ( 利用者 ) が変更
ファイル操作 アプリケーションソフトウェアなどで作成したデータはディスクにファイルとして保存される そのファイルに関してコピーや削除などの基本的な操作について実習する また ファイルを整理するためのフォルダの作成などの実習をする (A) ファイル名 ファイル名はデータなどのファイルをディスクに保存しておくときに付ける名前である データファイルはどんどん増えていくので 何のデータであるのかわかりやすいファイル名を付けるようにする
(Microsoft Word - 01PowerPoint\217\343\213\211C\203p\203^\201[\203\223\222m\216\257\225\\\216\206.doc)
Microsoft PowerPoint プレゼンテーション技能認定試験 上級 2003 サンプル問題 知識試験 制限時間 30 分 受験会場 受験番号 氏 名 問題 1 次の文章は 作業環境について述べたものである を解答群 { } より選び その記号で答えよ にあてはまる適切なもの 設問 1. はルーラーの一部で 1 に示されるインデントマーカーは 設定するものである を { ア. 先頭行のインデントイ.
文字入3-2 力3 文字入力について ひらがな 漢字 カタカナ 英数字 記号 絵文字などが入力できます 文字入力方式には モード1( かな方式 ) モード2(2タッチ方式 ) モード3( ニコタッチ方式 ) の3 種類があります 本書では モード1( かな方式 ) での入力例を中心に記載します モー
文字入力 文字入力について... 3-2 文字の入力方法... 3-3 文字を入力する... 3-3 絵文字 / 記号を入力する... 3-4 定型文を利用する... 3-5 その他の入力補助機能... 3-5 文字の変換機能... 3-6 変換機能を利用する... 3-6 英字 / 数字 / カタカナに変換する ( 英数カナ候補 )... 3-7 文字の変換に関する機能... 3-8 文字の編集...
講習No.1
プログラムはどこに保存され, どこで実行されるのか? 復習 ハードディスク キーボード Central Processing Unit 例えば i7, ARM, Cortex-A17 ディスプレイ 例えば 4G バイト メモリ プログラムは, ワープロ文章などと同様, ハードディスクなどにファイルとして保存されている. プログラムは, メモリ上に呼び出されて ( ロード ) 実行される. プログラムの作成
キー操作
キー操作 VB 2005 9 今回の課題項目 キーセンス キーボードイベントへの応答 低レベルのキーボードハンドラの作成 (KeyPress KeyDown Keyp) KeyPress イベント KeyDown イベントと KeyUp イベント Shift Ctrl Alt のキー状態の検出 フォームレベルのキーボードハンドラの作成 遠隔キー入力 (SendKeys ステートメント ) 遠隔キー入力
文字入3-2 力3 文字入力について ひらがな 漢字 カタカナ 英数字 記号 絵文字などが入力できます ❶ ❷ ❸ ❶ 入力モード切替操作漢 : 漢字 ひらがな入力モード 1 カナ : カタカナ入力モード英 : 英字入力モード数 : 数字入力モード ❷ 全角 / 半角切替操作全 : 全角入力モード
文字入力 文字入力について... 3-2 文字の入力方法... 3-2 文字を入力する... 3-2 絵文字 / 記号を入力する... 3-3 その他の入力補助機能... 3-5 文字の変換機能... 3-5 変換機能を利用する... 3-5 英字 / 数字 / カタカナに変換する ( 英数カナ候補 )... 3-7 文字数で予測候補を絞り込む ( 文字数絞込み予測 )... 3-8 文字の編集...
相性占いプログラム
相性占いプログラム VB 2005 1 プログラムの概要 画面上で 男女夫々れの誕生日の月日と血液型をコンボボックスより選択した後 占うボタンをクリックする 相性とアドバイス & ポイントは 血液型と星座の位置に依り 予め或る占術法に基づき作成されたデータをファイルより読み込んで配列に記憶させ 誕生日と血液型に依り算出された評価値に該当するデータを表示する 猶 必要な入力が行われて居ない場合には 警告音を鳴らして
JavaScriptで プログラミング
JavaScript でプログラミング JavaScript とは プログラミング言語の 1 つ Web ページ上でプログラムを動かすことが主目的 Web ブラウザで動かすことができる 動作部分の書き方が C や Java などに似ている 2 JavaScript プログラムを動かすには の範囲を 1. テキストエディタで入力 2..html というファイル名で保存
データベースⅠ
データベース操作プログラム Ⅰ VB 2005 8 プログラムの概要 データベースプログラムを手軽に作成する方法としては Access のフォーム機能を用いる事が 先ず考えられます ウィザードも充実しており 操作を覚えれば簡単に作成する事が出来ます 其れでは VB でデータベースプログラムを作るメリットは何んでしょうか 1 つは Access のフォーム機能に比べ コントロールが充実している事 より自由なデザインが可能です
Visual Studio2008 C# で JAN13 バーコードイメージを作成 xbase 言語をご利用の現場でバーコードの出力が必要なことが多々あります xbase 言語製品によっては 標準でバーコード描画機能が付加されているものもあるようで す C# では バーコードフォントを利用したりバー
Visual Studio2008 C# で JAN13 バーコードイメージを作成 xbase 言語をご利用の現場でバーコードの出力が必要なことが多々あります xbase 言語製品によっては 標準でバーコード描画機能が付加されているものもあるようで す C# では バーコードフォントを利用したりバーコード OCX や バーコード対応レ ポートツールが豊富にありますので それほど困ることは無いと思われます
メール送信
メール Visual Basic 2005 でのメール送信 1 System.Net.Mail 名前空間の MailMessage クラスと SmtpClient クラスを使用 メール送信機能の有るアプリケーションを作成する必要が有る場合が有る 其処で 此処では メールの送信機能を持つアプリケーション ( 図 1) の作成方法に付いて紹介する 図 1 Visual Basic 6.0 では Microsoft
Word2013基礎 基本操作
OA ベーシック Word2013 基礎基本操作 1 / 8 Word2013 基礎基本操作 基本操作前編 (WORD 基本操作 ) Word の起動と終了 操作 Word を起動します 1[ スタート画面 ] で [Microsoft Word2013] のタイルをクリックします Word が起動します タスクバーには Word のボタンが表示されます 2[ 白紙の文書 ] をクリックします 新規文書が表示されます
データベースプログラミング
データセットとデータテーブル データセット (DataSet) とは何かに付いて 簡単に説明する データセットとは 典型的な.NET の Windows データベースアプリケーションでは データセットを通じてアプリケーションからデータベースにアクセスする データセットとは 簡単に謂うと データベースから取得したレコードをメモリ上に持つ為の入れ物で有る 例えば データベースからレコードを取得し 其れをグリッドコントロールに表示する様な
文字入3-2 力3 文字入力について ひらがな 漢字 カタカナ 英数字 記号 絵文字などが入力できます ダイヤルボタンの文字割り当てについて (ZP.17-12) ❶ ❷ ❸ ❶ 入力モード切替操作漢 : 漢字 ひらがな入力モード 1 カナ : カタカナ入力モード英 : 英字入力モード数 : 数字入
文字入力 文字入力について... 3-2 文字の入力方法... 3-2 文字を入力する... 3-2 絵文字 / 記号を入力する... 3-3 その他の入力補助機能... 3-5 文字の変換機能... 3-5 変換機能を利用する... 3-5 英字 / 数字 / カタカナに変換する ( 英数カナ候補 )... 3-7 文字数で予測候補を絞り込む ( 文字数絞込み予測 )... 3-8 文字の編集...
チャットアプリ
チャットアプリ Socket クラスに依る TCP 非同期通信の方法 複数のクライアントが同時に接続出来る TCP を利用したクライアントサーバー型チャットアプリケーションを TcpClient と TcpListener クラスを使わずに Socket クラスを使って作る方法を紹介する 初めに 此処では 複数のクライアントが同時に接続出来る TCP を利用したクライアントサーバー型チャットアプリケーション
印刷
印刷 Windows フォームに於ける印刷のサポート Windows フォームに於ける印刷では 主に ユーザーに依る印刷を可能にする為の PrintDocument コンポーネントと Windows オペレーティングシステムを常用して居るユーザーに見慣れたグラフィカルインターフェイスを提供する為の PrintPreviewDialog コントロール PrintDialog コンポーネント 及び PageSetupDialog
単語の比較とスペルチェック COMPARA Word のテキスト内にある単語を抽出し 異なり語のリストを作成するプログラムです また Word のテキスト内の単語 ( または単語リスト ) を 先に作成した単語リストと照合して その異同を確かめます フォーム 単語リスト単語集計同語検索異語検索同語リ
単語の比較とスペルチェック COMPARA Word のテキスト内にある単語を抽出し 異なり語のリストを作成するプログラムです また Word のテキスト内の単語 ( または単語リスト ) を 先に作成した単語リストと照合して その異同を確かめます フォーム 単語リスト単語集計同語検索異語検索同語リスト異語リスト和文大小文字区別新文書照合リスト実行 テキストまたはリストにある単語 ( 異なり語 )
占領双六ゲーム
占領双六ゲーム VB 2005 9 プログラムの概要 赤と青の 2 者が順番にサイコロを振り 出た目の数だけ駒を進めて行き 停止したマス目を自分の色に塗り潰して 自分の陣地に出来ると謂う 所有る陣取りゲームを作成する マス目は最初に其のマスに停止した方の陣地となり 既に孰れかの色に塗り潰されて居るマスに 後から別の駒が停止しても 陣地の占領者が変わる事は無い 総てのマス目が孰れかの色に塗り潰されゝばゲームは終了し
プログラミング実習I
プログラミング実習 I 03 変数と式 人間システム工学科井村誠孝 [email protected] 3.1 変数と型 変数とは p.60 C 言語のプログラム中で, 入力あるいは計算された数や文字を保持するには, 変数を使用する. 名前がついていて値を入れられる箱, というイメージ. 変数定義 : 変数は変数定義 ( 宣言 ) してからでないと使うことはできない. 代入 : 変数には値を代入できる.
5.1. ホームページ登録 ホームページ URL を登録します ホームページ URL は基本契約で 1 個 (100MB) まで無料 2 個目以降は有料オプションサービス ( 月額 300 円 / 個 ) で追加登録が可能です (1) 左メニューの HP アカウント登録 リンクをクリックします (1
5. HP( ホームページ ) アカウント情報 ホームページアカウント情報では ホームページ URL の取得やパスワードの変更 ホームページ容量の追加 authid の設定など ホームページ URL に関する管理が行えます HP アカウント情報 にアクセスするには 世帯情報参照 画面で HP アカウント情報 のリンクをクリックします 新しくホームページ URL を取得する場合は 41 ページへ FTP
●コンテンツ「掲示板」
Joruri CMS 2.0.0 基本マニュアル (2013.7.16) コンテンツ 掲示板 レス返信式のシンプルな掲示板 画像認証 削除パスワードの使用が可能 IP 制限 禁止語句 URL 投稿禁止の設定が可能 上部タブ コンテンツ をクリックすると 現在 Joruri CMS 内の機能として提供されてい るコンテンツの一覧が表示されます コンテンツ種別 に 掲示板 と表示されている項目が 掲示板
グラフィックス 目次
WPF チュートリアル Microsoft Expression Blend を使用してボタンを作成する 此のチュートリアルでは WPF のカスタマイズされたボタンを Microsoft Expression Blend を使用して作成する手順に付いて説明する Microsoft Expression Blend の具体的な動作は Extensible Application Markup Language(XAML)
3D回転体プログラム
3D 回転体プログラム VB 2005 4 プログラムの概要 入力画面で マウスを用いて 側面より見た平面図を描きます マウスの左ボタンをクリックする事で連続線を描き 右ボタンをクリックすると新しい線を描く事が出来る 側面図が完成すると 回転の基本角度を設定して 確定ボタンをクリックすると 平面図を立体図に座標変換する 各軸の回転角度を設定して 表示ボタンをクリックすると 立体図が表示される 各軸の回転角度を変更して
クイックマニュアル(利用者編)
クイックマニュアル エコノス株式会社 目次 1. 利用イメージ 2. ログイン画面 3. 検索画面 4. クロールサイト管理画面 5. ユーザ管理 6. 検索履歴確認 7. クロール結果確認 8. ダウンロードパスワード設定 9. URLチェック 2 1. ご利用イメージ (1/2) 基本的な機能のご利用について 1 サイトへアクセスしログイン関連ページ :2. ログイン画面 2 検索対象の URL
シーケンシャルファイルの操作
ファイルの操作 Ⅰ VB 2005 4 今回の課題項目 ファイル概要 ファイルの種類 ( テキストファイル バイナリファイル ) テキストファイルのレコード形式 ( 可変長 固定長 XML CSV) ファイルアクセス ファイルアクセスの種類 ( シーケンシャル ランダム バイナリ ) シーケンシャルアクセス (Sequential Access) シーケンシャルアクセスの概要 シーケンシャルアクセスの特徴
相性占いプログラム
相性占いプログラム VB1 プログラムの概要 画面上で 男女夫々れの誕生日の月日と血液型をコンボボックスより選択した後 占うボタンをクリックします 相性とアドバイス & ポイントは 血液型と星座の位置に依り 予め或る占術法に基づき作成されたデータをファイルより読み込んで配列に記憶させ 誕生日と血液型に依り算出された評価値に該当するデータを表示します 猶 必要な入力が行われて居ない場合には 警告音を鳴らして
Taro-cshプログラミングの応用.jt
c s h プログラミングの応用 0. 目次 1. 課題 課題 1 : 与えられたパス名からディレクトリ名とファイル名を分離し出力せよ 課題 2 : オプション (-in) の後に続く文字列とオプション (-out) の後に続く文字列をそれぞれまとめる オプションの指定がなく文字列から始まるとき -in を仮定する 課題 3 : 複数のファイルから与えられたパターンとマッチする文字列を含む行を取り出せ
C#の基本
C# の基本 ~ 開発環境の使い方 ~ C# とは プログラミング言語のひとつであり C C++ Java 等に並ぶ代表的な言語の一つである 容易に GUI( グラフィックやボタンとの連携ができる ) プログラミングが可能である メモリ管理等の煩雑な操作が必要なく 比較的初心者向きの言語である C# の利点 C C++ に比べて メモリ管理が必要ない GUIが作りやすい Javaに比べて コードの制限が少ない
