Results of 1 - 1 of about 138 for 住所 分割 (0.001 sec.)
住所 (2124), 分割 (1547)
- [[20130417084105]]
- #score: 9589
- @digest: 31a6fea4ed02ba3f45b14bdbdc2e4732
- @id: 62109
- @mdate: 2013-04-19T04:03:11Z
- @size: 3635
- @type: text/plain
- #keywords: 都渋 (35576), splitaddress (29523), 谷区 (17898), 渋谷 (12837), 区, (10312), 〇- (9243), 桁オ (7055), ェン (6250), フェ (5734), 合手 (5492), 区2 (5427), 京都 (4647), 分割 (3817), 規表 (3545), 手前 (3346), 正規 (3330), 東京 (2681), ピリ (2535), 桁以 (2410), pattern (2106), vbscript (1999), ンダ (1732), 列1 (1723), 配列 (1639), ダー (1604), ヒッ (1516), 半分 (1428), ああ (1422), 住所 (1404), スピ (1370), regexp (1304), (フ (1213)
- 『配列操作について』(フェンダー)
VBAのCSV入出力でご質問がございます。 住所の文字列を数値の手前で2分割したいのですが・・・ ご教授下さい。 住所という変数に対して 例 東京都渋谷区2-〇-2 東京都渋谷区 ,2-〇-2 東京都渋谷区1-?-3 東京都渋谷区 ,1-?-3 と住所に含まれる数値を起点に配列を スピリット関数・正規表現等で配列を分割したいのですが なにかサンプルデータをご提示いただければ 助かるのですがよろしくお願いします。 エクセル2010(フェンダー) ---- 正規表現のサンプルだと Dim txt As String With CreateObject("VBScript.RegExp") .Pattern = "([^¥d0-9]+)(.*)" txt = .Replace("東京都渋谷区2-〇-2", "$1,$2") End With MsgBox txt それとも、単純に"区"で分割? (seiya) ---- (seiya)様 サンプルご提示どうもありがとうございます。 数値からの分割でOKです。 あとは別のパターンを加えて 試してみます。 急ぎだったので助かりました。 (フェンダー) ---- 追加の質問です。 文字列の中の左から24桁までに0から9の数値が ヒットしない場合を コードで書きたいのですが どなたかご教授頂けますでしょうか?? 文字列の中の文字数をヒットさせるのは分かるのですが 宜しくお願い致します。 (フェンダー) ---- With CreateObject("VBScript.RegExp") .Pattern = "^(.*[¥d0-9].*){1,24}" MsgBox Not .test("東京都渋谷区") End With (seiya) ---- (seiya)様 通常は数値の手前で分割させるのですが 例外で 配列1の桁数を24桁以内で納めたいという事で 文字列の中の左から24桁までに0から9の数値が ヒットしない場合だけ 数値で分割せず 配列1と配列2を半分で分割したかったのです。 参考にさせて頂きます。 どうもありがとうございました。 (フェンダー) ---- こういうことだったのかな? Sub testp() Dim x x = SplitAddress("東京都渋谷区あいうえおかきくけこさしすせそたちつて2-〇-2") MsgBox x(0) & " : " & x(1) End Sub Function SplitAddress(ByVal txt As String) With CreateObject("VBScript.RegExp") .Pattern = "^[^¥d0-9]{24,}" If .test(txt) Then SplitAddress = VBA.Array(Left$(txt, Len(txt) ¥ 2), Mid$(txt, Len(txt) ¥ 2 + 1)) Else .Pattern = "([^¥d0-9]+)(.*)" SplitAddress = Split(.Replace(txt, "$1" & Chr(2) & "$2"), Chr(2)) End If End With End Function (seiya) ---- 正規表現での24桁までの数値の検索は、 "^[^¥d0-9]{24,}"でマッチさせるんですね。 配列1は桁数を指定したかったので、助かりました。 あと少し条件を増やしたいのですが サンプル参考にさせて頂きます。 どうもありがとうございました。 (フェンダー) ---- >あと少し条件を増やしたいのですが 正規表現で全てを処理するなら 全ての条件を列挙して、実際に数パターンのサンプルデータで解説した方が 整理されたコードを考えやすいと思いますよ? (seiya) ---- 条件を増やしたいなんて書いてしまいましたが 実際は、 配列1の印字領域がMAXで23桁なので 数値が24桁以降に存在すると はみ出てしまうのです。 とりあえずその場合、配列を半分にすれば はみ出ることはなくなるのですが 住所の途中で配列が分割されてしまう問題があるので 現状方法はないとおもいます。 例えば下記のように住所の区や市の切れ目にスペースが あれば 東京都 渋谷区 ああああああああああいいいいああ 3-20 スペースを利用し 23桁を基準に 桁オーバーした場合 手前のスペースで分割 東京都 渋谷区 ああああああああああいいいいああ 3-20 のように スピリット関数で考えようと思ってたのですが・・・ 今回の仕様はこれ以上厳しいかと思います。 (フェンダー) ---- Hummmm... そうなると、24文字内に分割する判断基準が無いと難しいでしょうね. (seiya) ...
-
https://www.excel.studio-kazu.jp/wiki/kazuwiki/201304/20130417084105.txt
- [detail]
- similar
PREV
NEXT
Powered by
Hyper Estraier 1.4.13, with 97055 documents and 608272 words.
訪問者: