過去ログ

                                Page     144
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   通常モードに戻る  ┃  INDEX  ┃  ≪前へ  │  次へ≫   
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ▼文字列から数値を抜き出す方法  ひろ 02/12/16(月) 17:11
   ┗Re:文字列から数値を抜き出す方法  イケガミ 02/12/16(月) 22:52
      ┗Re:文字列から数値を抜き出す方法  ひろ 02/12/17(火) 11:44
         ┗Re:文字列から数値を抜き出す方法  イケガミ 02/12/17(火) 13:17
            ┗Re:文字列から数値を抜き出す方法  ひろ 02/12/17(火) 14:49
               ┗Re:文字列から数値を抜き出す方法  イケガミ 02/12/17(火) 15:20
                  ┗Re:文字列から数値を抜き出す方法  ひろ 02/12/18(水) 9:20
                     ┗Re:文字列から数値を抜き出す方法  ひろ 02/12/18(水) 17:18

 ───────────────────────────────────────
 ■題名 : 文字列から数値を抜き出す方法
 ■名前 : ひろ
 ■日付 : 02/12/16(月) 17:11
 -------------------------------------------------------------------------
   文字列があり、その文字列から数値および「-」ハイフンを抜き出す方法を教えてください。

対象文字列)日立市宮田町6-4-20

結果)   6-4-20

 ───────────────────────────────────────  ■題名 : Re:文字列から数値を抜き出す方法  ■名前 : イケガミ <ikegami_kumamoto@dosule.com>  ■日付 : 02/12/16(月) 22:52  -------------------------------------------------------------------------
   >対象文字列)日立市宮田町6-4-20
>
>結果)   6-4-20

これって、純粋なAccessの機能では難しいかと。。。

条件の確認ですが、数値以降はすべてだしてもいいのでしょうか?

日立市宮田町6丁目4-20
日立市宮田町6-4-20 ○×アパート101

などの場合はどうしたいのでしょうか?

 ───────────────────────────────────────  ■題名 : Re:文字列から数値を抜き出す方法  ■名前 : ひろ  ■日付 : 02/12/17(火) 11:44  -------------------------------------------------------------------------
   >条件の確認ですが、数値以降はすべてだしてもいいのでしょうか?
>
>日立市宮田町6丁目4-20

 結果)6-4-20(丁目は'-'に変換します)

>日立市宮田町6-4-20 ○×アパート101

 結果)6-4-20-101(○×アパートを'-'に変換します)

ご指導よろしくお願いいたします。

 ───────────────────────────────────────  ■題名 : Re:文字列から数値を抜き出す方法  ■名前 : イケガミ <ikegami_kumamoto@dosule.com>  ■日付 : 02/12/17(火) 13:17  -------------------------------------------------------------------------
   参照設定で
Microosft VBScript Regular Expressions X.X
にチェックをいれてください。

>>日立市宮田町6丁目4-20
> 結果)6-4-20(丁目は'-'に変換します)
>
>>日立市宮田町6-4-20 ○×アパート101
> 結果)6-4-20-101(○×アパートを'-'に変換します)


以下の関数をコピーして試してみてください。
-----------------------------------------------------------
Function Jyusyo(String1 As String) As String

  Dim reg     As RegExp
  Dim strAns   As String

  Set reg = New RegExp
  
  reg.Pattern = "[^0-9]"
  reg.Global = True
  strAns = reg.Replace(String1, "-")
  
  reg.Pattern = "--+"
  reg.Global = True
  strAns = reg.Replace(strAns, "-")
  
  Set reg = Nothing
  
  If Left(strAns, 1) = "-" Then
    strAns = Mid(strAns, 2)
  End If
  If Right(strAns, 1) = "-" Then
    strAns = Mid(strAns, 1, Len(strAns) - 1)
  End If

  Jyusyo = strAns

End Function
-----------------------------------------------------------

一応、テストしたらできましたけど、正規表現については
私がほとんど分からないので、無駄なことをしているのかも。。

 ───────────────────────────────────────  ■題名 : Re:文字列から数値を抜き出す方法  ■名前 : ひろ  ■日付 : 02/12/17(火) 14:49  -------------------------------------------------------------------------
   教えていただいた内容で、結果帰ってきました。イケガミさん、ありがとうございます。
できたのですが、初心者なもので内容がわかりません。
Vbscriptを勉強すればいいのでしょうか?
もし、お手数でなければ解説いただけるとありがたいです。

 ───────────────────────────────────────  ■題名 : Re:文字列から数値を抜き出す方法  ■名前 : イケガミ <ikegami_kumamoto@dosule.com>  ■日付 : 02/12/17(火) 15:20  -------------------------------------------------------------------------
   >できたのですが、初心者なもので内容がわかりません。
>Vbscriptを勉強すればいいのでしょうか?
>もし、お手数でなければ解説いただけるとありがたいです。

私もあんまり理解していないです。(コードもパクリだし。。)

Clinick's Clinic on Scripting: 正規表現による Visual Basic Scripting Edition (VBScript) の機能強化
http://www.microsoft.com/japan/msdn/columns/scripting/scripting051099.asp

上記のサイトや、正規表現を解説しているサイトを確認してください。

 ───────────────────────────────────────  ■題名 : Re:文字列から数値を抜き出す方法  ■名前 : ひろ  ■日付 : 02/12/18(水) 9:20  -------------------------------------------------------------------------
   正規表現なるものがあることを始めて知りました。
私も色々インターネットで検索したのですが、調べ方が足りなかったのか、
見つけることができず質問させていただきました。
教えていただいたアドレスを参照して、正規表現を習得したいと思います。
どうもありがとうございました。

 ───────────────────────────────────────  ■題名 : Re:文字列から数値を抜き出す方法  ■名前 : ひろ  ■日付 : 02/12/18(水) 17:18  -------------------------------------------------------------------------
   教えていただいたHPなどを参照して勉強しているのですが、下記がどうしてもわかりません。教えてください。

文字列1)1-3-B-101
結果1) 1-3B101

文字列2)1-3-B-1F
結果2) 1-3B1

アルファベットの前後にあるハイフンを取り除く、数字に続くアルファベットを取り除く
方法です。

文字列1のパターン的に、reg.Pattern = "-[a-zA-Z]-"でマッチはしますが、前後のハイフンをどうやって削除すればいいかわかりません。

よろしくお願いいたします。

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━    通常モードに戻る  ┃  INDEX  ┃  ≪前へ  │  次へ≫    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━                                 Page 144