• ベストアンサー

改行コード(\n)を削除したい場合

テキストエリア(Swing)に "test1" "test2" と入力されたものを、 ひとつにつなげたいのですが、 test1の後に\n?が入っているため、 うまくつながりません・・・。 どうすれば\nを消せるでしょうか? ちなみにtest1に対してindexOf('\n');で検索したら-1とでます。 2つの文字列はStringTokenizer st = new StringTokenizer(txtAreaString, "\n"); で取得しています。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • m_hagizo
  • ベストアンサー率65% (31/47)
回答No.1

実際にやってみてはいないのですが、test1に対してtrim()を実行するのではだめでしょうか…。 使い方は、ご存知と思いますがこんな感じです。 String str1 = test1.trim(); JavaDocを見る限り、『このメソッドは文字列の先頭と最後から空白を切り取るために使用できます。この場合、実際には、すべての ASCII 制御文字も切り取りられます。』とあるので、タブや改行なども切り取られるような気がします。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

  • UKY
  • ベストアンサー率50% (604/1207)
回答No.2

どうも「test1に対してindexOf('\n');で検索したら-1とでます。」というのが怪しいんですが。 '\r' や '\t' など、'\n' 以外のごみが混じっているということはないんですよね……?

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 改行コードを含む文字列の分割について

    Java初心者です。 Java言語で、ある文字列を"\r\n"だけを区切り記号として別々の文字列にしたいのですがうまくいきません。 StringTokenizerを使って、 StringTokenizer(msg,"\\r\\n") のようにやって見たのですが、これだと"\r"や"\n"まで区切り記号として分割されてしまいました。 "\r\n"だけを区切り記号として処理するにはどうしたらいいでしょうか? 例えばPOSTで送信した"データ1\r\nデータ2\r\nデータ3\nテスト"という文字列を、 "データ1"、"データ2"、"データ3\nテスト"の3つにしたいのですが。

    • ベストアンサー
    • Java
  • ファイルから複数行のトークンを文字列検索。

    input.txt から "," で区切られた文字列をトークンで分け、 左がパターン、右が検索する文字列になります。 一行の場合は while((line = brInput.readLine())!= null ) { StringTokenizer st = new StringTokenizer(line, ","); if(st.hasMoreTokens()){ pattern = st.nextToken(); text = st.nextToken(); } これでマッチするだけなのですが、複数行の場合はどうでしょうか?

    • ベストアンサー
    • Java
  • テキストエリアの改行を取得したい

    最近CGIを独学ではじめたのですが、複数行のテキストエリアからの文字列の取得をした場合、改行が反映されずに表示されます。 改行コードのようなものは取得されている、とちらりとどこかで見たことがあるのですが、どのように取得して改行させるかが分かりません。 すみませんが、ご存知の方がいらっしゃいましたら教えていただけないでしょうか。 このような感じで書きました。 my $cgi = CGI::new(); my $area = $cgi->param('text'); print "Content-type: text/html\n\n"; print $area;

    • ベストアンサー
    • CGI
  • 改行コード等について

    Winで普通のテキストエディタで改行やタブ等すると、実際には改行コード(\n\r等)を入力していると思います。そのコードを含めた文字列を全て表示して見てみたいのですが、どうすれば見られるでしょうか?

  • 改行コードについて

    HTMLフォームのテキストエリアで改行した場合の処理についてご質問します。 Windowsのローカル環境で試しています。 改行コードLFでPHPを作成しています。 ○改行コードの認識 LF(\n) Unix,Mac OS X CR(\r) Mac OS 9 CRLF(\r\n) ○テキストエリアからの入力値の処理 CRLF、CRをLFに変換しています。 $value= str_replace ("\r\n", "\n", $value); $value = str_replace ("\r", "\n", $value); このあとDBに値を格納しています。 ○出力の際の処理 DBから値を取得。 phpのprint関数で下記を出力。 <textarea >${value}</textarea> 上記処理で、ローカル、サーバともに正常に動作しています。 しかし改行コードがLF(\n)なのでCRLF(\r\n)のWindowsで表示したときには問題が起きそうな気がします(実際には正常に動作)。 なにかしっくりこなくて質問させていただきました。 よろしくお願いします。

    • ベストアンサー
    • PHP
  • fpoenからの改行コードの扱いについて

    ただいまMacOSX(10以降)でプログラミングをしています。このOSでは改行コードはLFつまり、"\n"が当てはめられているはずです。(でいいんでしょ??) ///// abc.txt(改行や空白もそのまま)////// abc def ghi ///////////////////////////////////// このテキストをfopenで開き、fgetsで1文字ずつスキャンしていて"\n"にぶちあたるとある変数をインクリメントし、最後にその行数を出すというプログラムを書いてます。 この場合改行"\n"は3回あるので最終的に3+1、つまりこのテキストは4行あるということを表示できるはずなのですが、なぜか改行が1回としか認識されず結果2行のテキストとして出力されてしまいます。 いろいろ試した結果、どうやら"\n"を判断できている場所はその次が空白の行の場合だけなのです。つまり、コンピュータ的には ///// abc.txt(改行や空白もそのまま)////// abc\n ←ここは次にdefという文字列がきているので\nが認識されていない def\n ←ここしか認識されていない   \n ←同様に次の文字列がくるので認識されていない ghi ///////////////////////////////////// としか認識されていないようなのです。 なぜ\nの続きが文字列であると なぜこのようなことになるのでしょうか? \nの扱い方が間違っているのでしょうか?解決方法がおかる方がいればよろしくおねがいします。

  • 教えてください。

    class test { public static void main(String args[]) { int A,B,C,D; String N,n; A = Integer.parseInt(args[0]); if(!(args.length == 0)) { if(args[0].length() <= 2 || args[0].length() >= 10) { System.out.println("入力された文字列のバイト数は" + args[0].getBytes().length + "です"); } else if(args[0].length() >= 5 || args[0].length() <= 7 ) { D = args[0].getBytes().length; D = D - 1; System.out.print("入力された文字列の長さは" + ( D ) + "です"); } else if(args[0].indexOf("N") >= 0 || args[0].indexOf("n") >= 0) { System.out.println("引数には'N' または 'n' が含まれていません"); } else if(args[0].indexOf("N") >= 0 || args[0].indexOf("n") >= 0) { System.out.println("引数には'N' または 'n' が含まれています"); } } } } プログラムの仕様は、 プログラムに引数を1つ指定して実行した時、 入力された文字列の長さが、 2 以下、又は 10 以上である場合、 入力された文字列のバイト数を表示 5 以上、かつ、7以下である場合、 入力された文字列の[長さ-1]の値を表示 その他の場合、 入力された文字列の中に、 半角英数字の 'N' または 'n' が含まれている場合は、 引数には'N' または 'n' が含まれています それ以外の場合は 引数には'N' または 'n' は含まれていませんと表示 このようにさせたいんです。 実行例は、 ・D:\Work>java test z 入力された文字列のバイト数は 1 です ・D:\Work>java test dertftd 入力された文字列の長さは 6 です ・D:\Work>java test asd 引数には'N' または 'n' は含まれていません ・D:\Work>java JavaSample7 nfc 引数には'N' または 'n' が含まれています と、実行させたいんですが、Nやnを入力して実行するとエラーが出てしまうんです・・・ 長くなって申し訳ないんですが、どなたかご教授いただけないでしょうか?

    • ベストアンサー
    • Java
  • 改行コードから改行コードまでをスプリットして配列に取り込む方法を教えて

    改行コードから改行コードまでをスプリットして配列に取り込む方法を教えてください。 ファイル「sample.txt」の中に 文字列A 文字列B 文字列C 文字列D 文字列E 文字列F 文字列G と書かれていたとします。このファイルを開き、配列@listに @list = 文字列A\r\n文字列B\r\n文字列C\r\n,文字列D\r\n文字列E\r\n,文字列F\r\n文字列G\r\n となるようなコードを教えてください。 要は二重改行コード\r\n\r\nをスプリッタとして複数の行を配列に取り込む方法です。 よろしくお願いします。

    • ベストアンサー
    • Perl
  • 【C#】特定の改行コードのみで1行ずつ取得したい

    C#でツールを作成しています。 テキストファイルの中を1行ずつ読み取りたいです。 ただし、改行コード \r\n と \n が混在しており、 \r\n までを1行として取得したいのです。 ReadToEndで一旦すべての文字列を取得し、 Split("\r\n")で分割という方法で解決はするのですが ファイルサイズが膨大な場合、どうしても処理が重くなってしまいます。 ReadLineなどで上手くできる方法はないでしょうか? よろしくお願いします。

  • 改行について

    フォームのテキストエリアに入力されたデータを PHPと連動してmySqlに格納したいと思っています。 テキストエリアから渡された文字列中に改行がある場合、 そのまま格納しても(サニタイズは当然するとして)問題ないでしょうか? それとも<BR>等に変換すべきでしょうか?

    • ベストアンサー
    • MySQL