- ベストアンサー
String変数を分割するメソッドってありますか?
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
java.util.StringTokenizer というクラスがあります。用法は参考URLをごらんください。 ちなみにJavaとJavaScriptは名前が似ているだけでまったくの別物とお考えください。(私は逆にVBAはまったくわかりませんが…)
その他の回答 (3)
- netaro
- ベストアンサー率41% (46/110)
みなさんのおっしゃるとおり、StringTokenizerが最適だと思います。 別の方法としては、StringのサブクラスでStringBufferがあります。 Stringをいろいろいじるのならけっこう便利なクラスです。
お礼
urizakaです 返事が遅れて申し訳ありません。 おかげで出来ました。 ありがとうございました。
- yuji
- ベストアンサー率37% (64/169)
java.util.StringTokenizerを使う方法以外として jakartaのORO(正規表現ライブラリ)を使う方法があります。 JavaWorld 2001年4月号,8月号に特集されていました。 文字列の分割,置換,パターンマッチングなどを 行うことができます。
お礼
urizakaです 返事が遅れて申し訳ありません。 おかげで出来ました。 ありがとうございました。
- misoka
- ベストアンサー率35% (56/160)
splitみたいなのはないと思いますよ。 いちいちループ作って、indexOfか何かで検索して、 substringする感じじゃないでしょうか? 私が知らないだけかな? Perlみたいに、正規表現とかも使えると便利なんですけどね...
関連するQ&A
- javaのchar型とstring型の使い分け
javaでchar型とstring型はどう使い分けられているのでしょうか? 一見、1文字しか入れられないcharよりstringのほうが汎用性高いので、 文字を代入する変数はすべてcharを使わずstringだけで定義しても いいような気がしました。 よろしくお願いします
- ベストアンサー
- Java
- JavaScriptの変数をjavaのメソッドの引数に渡す
JavaScriptの変数をjavaのメソッドの引数に渡すことはできますか? <%@ page contentType="text/html; charset=Windows-31J" %> <%! String chek(String a){ String st = a; return st; } %> function chek(){ var a1 = "abcd"; var a2= "<%=this.chek(%>ai<%=)%>"; alert(a2); }
- 締切済み
- JavaScript
- javaの比較一致(equals)について
javaの基礎的なことについて質問させていただきます。 まず byte配列を空にして、 new String(byteStream.toByteArray(), "UTF-8"); でString変数に代入した後に split関数で分割します。 分割した後に equals関数を使って比較をしてみたのですが TRUEにならず compareTo関数を使用してみたところかなり数値がずれていました。 文字コードで取得した場合はズレが生じるのでしょうか? できればご教授おねがいします。
- ベストアンサー
- Java
- Excel97 VBA とVBSのsplit関数
新しい職場で、Excel VBAでデータを取り込み、それを改行文字ごとにsplit関数で区切って配列に入れようとしました。 arr=split(文字列,vbcrlf) って感じでですね。しかし、なんとその職場のExcelのバージョンが97のため、VBAでsplit関数が使えず、この意図が実現できませんでした。そのため、ネットで調べてVBScriptのsplit関数を流用しようとしたのですが、「終了していない文字列型の定数です。」とエラーが出てしまいます。ソースは次のとおりなのですが、どう直せばいいでしょうか。改行文字で区切るのでなく、カンマなどで区切るのなら、上手く出来るのですが・・・。 Sub sample() Dim vs As Object Dim rtn As Variant Dim q As String Dim buf As String q = Chr$(34) 'ダブルクォーテーション Set vs = CreateObject("ScriptControl") vs.Language = "VBScript" 'Excel97のVBAにはsplit関数がないのでVBSからsplitを流用 buf = "1" & vbCrLf & "2" & vbCrLf & "3" '改行で区切った文字。実際は、もっと複雑な文字を取り込みます。 rtn = vs.Eval("split(" & q & buf & q & ", vbCrLf)") 'Excel97のVBAにはsplit関数がないのでVBSからsplitを流用 Debug.Print rtn(1) 'ここで「終了していない文字列型の定数です。」エラーが出る End Sub
- ベストアンサー
- Excel(エクセル)
- アクセス2000のVBAで変数に係数をつける方法
アクセス2000を使っています。 一つのレコード内に、下記のように、「半角4文字の番号+スペース」という規則正しいデータがあります。 ↓↓ 11A11 10A11 22B11 09A22 しかし、このデータの数は不規則で、番号が1個のものもあれば、20個のものもあります。 ↓↓ 11A11 11A11 10A11 22B11 09A22 ・・・ このデータ内にある半角4文字の番号を全て別々のデータにしたいと思い、VBAのコードを使って、InStr関数でスペースを検索し、そのスペースの手前から4文字のデータをleft関数やMid関数で抽出し、それを変数data(x)に代入し、次に、InStr関数で前のスペースの位置から次のスペースを探して、また、そのスペースの手前から4文字のデータをMid関数で抽出し、それを変数data(x)に代入する。 要するに、data(x) の中の x を1から1づつ増加させていき、data(1),data(2),data(3)という変数を自動的に生成し、その生成された各変数にデータを代入していきたいのですが、どうすればいいのでしょうか?
- 締切済み
- オフィス系ソフト
- この変数はどういう扱い?
とある書籍で簡単なアクセスログの作り方について勉強しているperl初心者です。 下記のコードで2行目までは理解できるのですが、3行目の++$freq[$hour];が理解できずに困っています。ここまでに $freq や@freq という変数や配列など出てきていないのですが、この場合のfreqはどのような命令実行になるのかが理解できずにいます。 while($ln = <FILE>) { ($hour,$min,$host,$refer,$agent) = split(/\t/, $ln); ++$freq[$hour]; } 1行目、ハンドル名FILEで開かれているファイルの1行目を読み込んで変数lnに代入。 2行目、split関数で、$lnの変数値を\t 区分毎に分解し、各変数に代入。 3行目を実行。 最初に戻る。 1行目2回目で、ハンドル名FILEで開かれているファイルの2行目を読み込んで変数lnに代入。 2行目で、split関数で・・・・・・・ ・ ・ 1行目?回目で、ハンドル名FILEで開かれているファイルの?行目から文字列がないので、whileを抜ける。 上記のような形で説明するとすると、3行目ではどのように何が実行されているのでしょうか? アドバイスやご教授をよろしくお願いします。
- ベストアンサー
- CGI
- JavaScriptの変数について
JavaScriptのソースで解らないところがあり、困っています。 ソースは下記の様なものなのですが、エラーが出ていません。 解らない点は2点有ります。 1. jにfalseを代入している箇所なのですが、セミコロンがないのは何故なのでしょうか? Chromeのデベロッパツール, FireFoxのFirebugで確かめてみたのですが、エラーとなっておらず、alertでfalseと表示されている状態です。 「j = !1」の箇所を即時関数の外に出すと、エラーとなります。 普通変数に代入する式の末尾はセミコロンをつけると思うのですが、 何故なのでしょうか? 2.また、jはvar j等のように変数の宣言をせずに使えているようなのですが、 普通即時関数内で宣言した変数のスコープは関数の外では使えないので、エラーとなると思うのですが、宣言せずに代入に使った変数はグローバル変数と解釈されるのでしょうか? どなたかお答え下さい。 --------------------------------- <script> (function() { j = !1 })(); alert(j); </script>
- ベストアンサー
- JavaScript
- 宣言文で変数横の()
Dim i() As String 変数iはSplit関数で使う物です。 この()は何なのでしょう。 配列に関係すると、思われるのですが。 ページ紹介でも歓迎です。 宜しくお願い致します。
- ベストアンサー
- Visual Basic
- jspからjavascriptの変数引継ぎ
jspでデータベースからデータを取ってきて格納した配列をjavascriptでも同じように変数として扱いたいのですがどうすればいいでしょうか? javascriptによってオンマウス時に枠がポップアップし、javascript内で設定した文字を枠内に表示しようとしているため、jspからデータを引き継ぎたいのです。 jspではtitleとhonbunは配列で <form name="form_title"> <input type="hidden" name=title value="<%= title %>" > </form> <form name="form_honbun"> <input type="hidden" name=honbun value="<%= honbun %>" > </form> このように名前をつけ、javascriptでは var taitoru[]= document.form_title.title.value; var honbun[]= document.form_honbun.honbun.value; このように変数に代入しています jsp側ではSPANでオンマウス時にjavascriptを呼び出し、javascriptでは文字が配列のhonbun[0]等をポップアップした枠の中で表示させるようにさせたいのですが 枠そのものがポップアップしません 上記のjavascriptでの変数への代入部分をコメントアウトすると、枠自体は表示されます 配列を丸ごとjavascriptで配列に代入できないのであれば、1データずつ引き継ぐという方法でもいいのですが、どのようにjavascript側で代入すればいいのでしょうか?
- 締切済み
- JavaScript
- データベースから取り出したテキストの改行
MYSQL+PHP+JAVASCRIPT にてサイトを作っています。 行き詰っております。助けてください。 MYSQLからPHPにてテキストデータをとりだし、JAVASCRIPTに引き渡したいのですが、上手くいきません。 -----状況----- データベースから変数$strを取り出し、次のコードでJAVASCRIPTの関数sampleに$strを渡しまます。 <input type="button" value="実行" onClick="sample('<?=$str?>')"> ここで、$strに改行が含まれていると、 <input type="button" value="実行" onClick="sample('こんにちは 太郎さん')"> のように2行に分割されたhtmlが書き出されてしまい、JAVASCRIPTでエラー(unterminated string literal)が出てしまいます。 この改行を変換してやる必要がありそうなのですが、その方法がわかりません。 以上、長い質問ですが、よろしくお願いいたします。
- ベストアンサー
- PHP
お礼
urizakaです 返事が遅れて申し訳ありません。 おかげでできました。 ありがとうございました。