- ベストアンサー
splitしない文字列について
split("\t",$moji) で$mojiを分割しているのですが、タブ区切りなのに分割しない文字列があります。 企業秘密な所もあり、問題の文字列そのままを報告できないのですが、分割をキャンセルするような文字コードってあるのでしょうか? その文字コードであやしい物は 「 」:スペース 「!」、「♪」 などが含まれています。 通常であれば10個に分割される文字列がまったく分割されなく分割数は1と出ます。もちろんタブ区切りになっています。 1つの文字列だけの事なのです。原因はまったく不明。よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
文字コードの関係かもしれません。 分割しない文字コードはS-JISですか? EUCに変更すれば正常に動くかもしれません。
その他の回答 (1)
- tommyt
- ベストアンサー率50% (1/2)
回答No.1
問題の文字列が開示できないなら解決は難しいかと思いますが・・・ 単純なタブ区切りの文字列を分割するだけならば わざわざ正規表現を使うsplitを使うよりも、単純に文字列で 区切るexplodeを使った方がよいかと思います。 特にsplitにこだわる理由がなければ一度explodeで試してみてはいかがですか? 分割されない文字列が分かっているのですから、億劫がらずに 何度もテストと検証を行えば30分くらいで原因が分かるかと思いますよ。 回答になってませんが、がんばってください。
質問者
お礼
原因は文字コードでした。ただ、区切り方については非常に参考になりました。ありがとうございます。
お礼
文字コードが原因でした。秀丸で見たら文字コードが原因なのかもわかりません(SJIS)でしたが、文字コードをいろいろと変換すると問題が解消されました。ありがとうございます。