質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
VBScript

VBScript(Visual Basic Scripting Edition)はMicrosftが開発したスクリプト言語であり、Visual Basicのサブセットです。

Q&A

解決済

1回答

5783閲覧

VBScriptにおける禁止文字チェックについて

ns0048

総合スコア9

VBScript

VBScript(Visual Basic Scripting Edition)はMicrosftが開発したスクリプト言語であり、Visual Basicのサブセットです。

0グッド

0クリップ

投稿2015/09/01 08:33

編集2015/09/01 23:40

JIS X 0208 から JIS X 0213で追加となっている文字を含んだ文字列を除外したのですがよい方法はありますか?

よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

VBScriptということですし、unicodeの文字列中のJIS X 0213定義の文字を省きたい。ということでしょうかね?
こちらのQ&Aでも書かれていますが、一般的に採用しているのはunicodeくらいしかないようです。

unicodeはJISの文字集合の表を意識したコード体系ではないですし、Q&Aにもあるようにテーブル化するしかないと思われます。

投稿2015/09/03 10:55

編集2015/09/03 10:56
退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ns0048

2015/09/04 00:06

ご回答ありがとうございます。 shift_jisの文字列において、JIS X 0213で追加された文字を省くという感じです。説明が足りていなくて申し訳ありません。 テーブル化するやり方も参考にさせていただきます。
退会済みユーザー

退会済みユーザー

2015/09/04 03:47

Shift-JISでも、かなり隙間に足されているんですね。 仕様書やコード書きの手間自体は、配列のパターンを熟知しているなら計算式や条件分岐の方がまだ早そうな気もしますね。 ただ、昔の第1水準・第2水準のチェックはこまかい隙間を考慮しないものが多いと思うので、計算で出す方法だと記号の隙間を判別できないように思います。 Shift-JISの割り当て(94*94文字*2面)でテーブルを作るとバイト換算で17KBになりますが、このサイズを惜しむ必要がなければ結局テーブルを作った方がコードのメンテは楽そうな気がします。(最初に表を用意する手間はありますが、あとはテーブル修正だけですし) テーブルを持つのも面倒という場合は、変換結果が ? になる性質を利用する手(http://divide-et-impera.org/archives/1585)も、1つの方法かと思います。
退会済みユーザー

退会済みユーザー

2015/09/04 05:19

モヤモヤするのでJIS X 0213の変更部分をまとめている人を探してみると、こんなページがありました(http://www.eonet.ne.jp/~kotobukispace/ddt/jisx0213/sjis8xxx.html) 漢字に限る(記号などを省く)と、概ね以下の範囲になるみたいですね。 >第3水準(分断が幾つもある) 879F 87A0 - 889E 9873 - 989E EAA5 - EFFC >第4水準(分断なし) F040 - FCFC (予約領域含む) 参考:https://ja.wikipedia.org/wiki/Shift_JIS-2004
ns0048

2015/09/07 00:43

pikovoltさんのやり方を参考にshift_jisコードで条件分岐して除外したらうまくできました!いろいろと参考サイトの紹介やアドバイスありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問