2012-01-13 26 views
43

WebサービスからLoginTokenを取得し、LoginTokenをStringに格納し、System.out.println(LoginToken);を使用して印刷するためにSOAPメッセージで作業しました。これは[wdsd34svdf]を表示しますが、wdsd34svdfだけで大括弧を削除する方法が必要です。私を助けてください。文字列の最初と最後の文字を削除するには?

おかげ

例:

String LoginToken=getName().toString(); 
System.out.println("LoginToken" + LoginToken); 

出力:[wdsd34svdf]私は

+5

この質問は右だが、今1以上のコピー&ペーストの答えがあります絶対にない研究努力 –

+2

示しています、あなたの文字列で始まる「[」またはで終わる「]」ではないことが起こる場合、それは何も削除されませんそのようなことについてGoogleに尋ねる怠惰なプログラマのために: – tom

答えて

110

それは簡単です、 あなたが必要[のインデックスを見つけるためにd]を実行します。 (ここでは、[開始時に常にあり]終わりである)、

String loginToken="[wdsd34svdf]"; 
System.out.println(loginToken.substring(1, loginToken.length()-1)); 
+0

ありがとうございます –

+0

私はあなたがあなたの文章を始めるのが好きです: "その簡単な" ...私はあなたがそれを知っているとすべてが簡単だと思います。 –

+6

エンドブラケットを削除するには、loginToken.length() - 2にする必要があります。 – mga911

11

wdsd34svdfたい あなたはいつもsubstringを使用することができます。

String loginToken = getName().toString(); 
loginToken = loginToken.substring(1, loginToken.length() - 1); 
3

は、私は同様のシナリオを持っていた、と私は

str.replaceAll("\[|\]", ""); 

のようなものがきれいに見えたと思いました。もちろん、あなたのトークンに括弧が含まれていると、うまく動作しません。

+1

replaceAll()とreplaceFirst()のみが正規表現をサポートしているので、ここでstr.replaceAll( "\\\ [| \\\]"、 "");動作します – rekinyz

+0

@ user1146450もちろん、申し訳ありません! – V9801

+1

正しい式はstr = str.replaceAll( "\\ [| \\]"、 "");あなたの式で見つからない\\を参照してください – Raj

7

この問題のもう1つの解決策は、commons-lang(バージョン2.0以降)StringUtils.substringBetween(String str, String open, String close)メソッドを使用することです。主な利点は、それがnull安全な操作だということです。

StringUtils.substringBetween("[wdsd34svdf]", "[", "]"); // returns wdsd34svdf

+2

これは特定のシナリオでは動作しますが、最初のパラメータとして "[wdsd] 34svdf]"が渡された場合は "wdsd"を返します。 – izilotti

10

これは一般的なソリューションです。

str.replaceAll("^.|.$", "") 
0

あなたは1つの大手 "[" と1つの末尾の "]" の文字を削除することができますこの方法。

str.replaceAll("^\\[|\\]$", "") 
+0

あなたはそれをテストしましたか?私は間違っているかもしれませんが、それは "文字列の始まり、そして[または]文字列の終わり"のように見えます。ここにかっこは必要ないのですか? – YakovL

+1

ええ、それは完全に正常に動作します: \t @Test \tます。public void testReplace(){ \t \t文字列str = "[wdsd34svdf]"; \t \t str = str.replaceAll( "^ \\ [| \\] $"、 ""); \t \t assertTrue(str.equals( "wdsd34svdf")); \t} –

関連する問題