メイン コーダーズルーム【スクリプト系】 改行記号を消すには | 投稿するにはまず登録を |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
hiruma | Åê¹ÆNo.20981 投稿日時: 2005-10-22 20:52 |
半人前 居住地: 投稿: 42
使用環境:
Win2000 + MX pro 2004 MacOS10.2 + MX |
改行記号を消すには \nで改行させた文字を含む変数を、\nだけをなくしたいのですが、splitで配列にいれてjoinで結合させようかと思いましたが、splitで配列に格納できません。
undefinedになってしまいます。 chr2=string1.split("\n"); yoko=chr2.join(""); としてますが、traceするとchr2[0]にそのまま改行付の文字が格納されます。 string1のほうは len=textfield.length; tate=""; for(i=0;i<len;i++){ chr=string1.charAt(i); tate+=chr+"\n"; } 要するに縦文字と横文字の切り替えなのですが、\nを消して改行なしに直す方法はないでしょうか。 MX2004+Win2000です。 よろしくお願いいたします。 |
ゲスト | Åê¹ÆNo.20982 投稿日時: 2005-10-22 21:12 |
Re: 改行記号を消すには こんにちは。
chr2=string1.split("\\n"); ではどうでしょうか? \でエスケープされてしまうのではないかとおもうんです。 |
|
hiruma | Åê¹ÆNo.20983 投稿日時: 2005-10-22 21:19 |
半人前 居住地: 投稿: 42
使用環境:
Win2000 + MX pro 2004 MacOS10.2 + MX |
Re: 改行記号を消すには ご回答ありがとうございます。
早速試してみましたが、変わりませんでした。 他にお気づきの点がありましたらよろしくお願いいたします。 |
野中文雄 | Åê¹ÆNo.20984 投稿日時: 2005-10-22 21:30 |
ちょんまげら 居住地: 東京 投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1) |
Re: 改行記号を消すには 現象が再現できません。
引用: hirumaさんは書きました: 何がundefinedになるのでしょうか? 配列ですか。結合後の文字列ですか? 引用: undefinedになってしまいます。 変数の文字列を、つぎのように設定しました。
Flash MX 2004/Mac OS X.3.9 & Windows XP (SP1)です。 |
hiruma | Åê¹ÆNo.20985 投稿日時: 2005-10-22 22:09 |
半人前 居住地: 投稿: 42
使用環境:
Win2000 + MX pro 2004 MacOS10.2 + MX |
Re: 改行記号を消すには そうですかー
わかりました。 もうちょっと見直してみます。 ありがとうございました。 |
hiruma | Åê¹ÆNo.20994 投稿日時: 2005-10-23 18:50 |
半人前 居住地: 投稿: 42
使用環境:
Win2000 + MX pro 2004 MacOS10.2 + MX |
Re: 改行記号を消すには すいません。相変わらずsplitできなくて悩んでいるのですが、ちょっと気になったことがあったので質問なのですが、ユーザーに入力させた文字列を縦書きにしたり横書きにさせたりしたいのですが、
まず入力させるときは (実際に使用しているソースです。昨日と違います。すいません。) len=_parent.text1.textfield.length; tate=""; for(i=0;i<len;i++){ chr=_parent.text1.string1.charAt(i); tate+=chr+"\n"; } _parent.text1.textfield.text=tate; text1というMCの中にtextfieldというテキスト入力を配置し、その変数名がstring1です。 変数名で取得したユーザーが入力したテキストを1文字づつ間に\nを入れてtextプロパティに入れています。 で、横書きに直すときには chr=_parent.text1.string1; chr2=chr.split("\n"); yoko=chr2.join(""); _parent.text1.textfield.text=yoko; としていますが、_parent.text1.string1には縦書きの文字列があるのですが、 trace(chr.indexOf("\n")); として改行記号の数を検索すると-1が返されます。 ちなみに //chr=_parent.text1.string1; chr="あ\nい\nう\nえ\nお"; chr2=chr.split("\n"); yoko=chr2.join(""); のようにするときちんと横書きになります。 変数と.textプロパティの関係をよく理解していないのですが、このあたりが問題でしょうか。 よろしくお願いいたします。 |
ひろゆき | Åê¹ÆNo.20995 投稿日時: 2005-10-23 19:47 |
ちょんまげら 居住地: 東京砂漠 投稿: 4403
使用環境:
10.8.5 Flash Professional CS4/CS6/CC Safari 6.1 |
Re: 改行記号を消すには 引用:
text1というMCの中にtextfieldというテキスト入力を配置し、その変数名がstring1です。 この「textfield」というのは、テキスト入力のインスタンス名でしょうか? もし、そうだとしたら、テキストフィールドの プロパティ インスペクタ(テキストフィールドの設定をするパネル)で、 インスタンス名と変数名をともに記入されていませんか?
|
hiruma | Åê¹ÆNo.20996 投稿日時: 2005-10-23 19:52 |
半人前 居住地: 投稿: 42
使用環境:
Win2000 + MX pro 2004 MacOS10.2 + MX |
Re: 改行記号を消すには すいません。
私なりに精一杯説明しているつもりなのですが、なにぶん初心者なもので・・・ おっしゃるとおり、インスタンス名と変数名をともに記入しています。 インスタンス名がtextfield、変数名がstring1です。 よろしくお願いします。 |
ひろゆき | Åê¹ÆNo.20997 投稿日時: 2005-10-23 20:16 |
ちょんまげら 居住地: 東京砂漠 投稿: 4403
使用環境:
10.8.5 Flash Professional CS4/CS6/CC Safari 6.1 |
Re: 改行記号を消すには 引用:
おっしゃるとおり、インスタンス名と変数名をともに記入しています。 text1 内に配置しているテキストフィールドは、1つだけで、 その1つのテキストフィールドに、インスタンス名と変数名をつけているのですか? だとしたら、string1 を削除して空欄にして、 まずは、スクリプト内の string1 の部分は、textfield.text にされては? 「Tech Lab: テキストフィールドの変数」
|
hiruma | Åê¹ÆNo.20998 投稿日時: 2005-10-23 20:48 |
半人前 居住地: 投稿: 42
使用環境:
Win2000 + MX pro 2004 MacOS10.2 + MX |
Re: 改行記号を消すには string1 を削除してtextfield.textにしてみました。
動作は同じで、縦はできるのですが、横に戻せません。 試しに縦を作るときの変数tateを_root.tateとして直接読み込んでみましたがこちらも同様の動きで、どうも縦の文字列を作るときの for(i=0;i<len;i++){ chr=_parent.text1.textfield.text.charAt(i); tate+=chr+"\n"; } ここに問題があるような気がしてなりません。 何か他の方法で1文字おきに改行記号を入れる方法はないでしょうか。 よろしくお願いいたします。 |
(1) 2 » |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |
投稿するにはまず登録を | |