2017-09-14 11 views
0

この場合、角括弧を削除します。私はそれを試みたが、同じ出力を与える。Javaの文字列から角括弧を削除する

String datetime = [Thu Sep 14 17:00:00 GMT+05:30 2017]; 
datetime=datetime.replaceAll("\\[", "").replaceAll("\\]",""); 

どこが間違っていますか?

+0

同様

あなたが何かをしようとしましたか? – Batty

+0

@Battyあなたはコードが問題にあるのを見ることができます。 –

+1

あなたの文字列の割り当てが間違っています。 'String datetime =" [Thu Sep 14 17:00:00 GMT + 05:30 2017] "のようにしてください。あなたのコードは動作します。 – Batty

答えて

0

コードをに短縮して、replaceAllと呼ぶことができます。

datetime = datetime.replaceAll("[\\[\\]]", "") 

IdeoneIt!


正規表現の詳細

  • [ - オープン文字クラス
  • \\[\\] - 文字通りの角括弧
  • ] - 文字クラスをクローズ
0

すでにdatetime文字列を設定している場合は、角括弧なしで設定してください。 String datetime = "Thu Sep 14 17:00:00 GMT+05:30 2017";

また、二重引用符がないため、String datetimeが有効でないため、コンパイラエラーが発生するはずです。

一方、JavaクラスDateからdatetime Stringのデータを受け取った場合は、受信するデータの形式をSimpleDateFormatで変更できます。

おてSimpleDateFormatを使用する方法がわからない場合は、ここでいくつかの簡単な例だhere

を、それをチェックアウトして、あなたは完全なチュートリアルhere確認することができます。

public class GetCurrentDateTime { 

private static final DateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss"); 
private static final DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy/MM/dd HH:mm:ss"); 

public static void main(String[] args) { 

    Date date = new Date(); 
    System.out.println(sdf.format(date)); 

    Calendar cal = Calendar.getInstance(); 
    System.out.println(sdf.format(cal.getTime())); 

    LocalDateTime now = LocalDateTime.now(); 
    System.out.println(dtf.format(now)); 

    LocalDate localDate = LocalDate.now(); 
    System.out.println(DateTimeFormatter.ofPattern("yyy/MM/dd").format(localDate)); 

} 

}

+0

これは間違いなくあなたのコードではありません... –

+0

それでは、何ですか?私は自分でそれを書いたことがあります。それはかなり似ていますが、その点は同じです。私はただ速く明確な答えを出したいと思っていました。 –

+0

全体的なポイントは、外部参照をリンク/認定することでした。私のコメントに基づいて、これを実行したようです。私は私の場合を休む。防御を受ける必要はありません。 –

0

ドン」をt大括弧を何も置き換えないで、大括弧の内部を正規表現でマッチさせ、文字列全体を内部部分で置き換えます。この

String datetime = "[Thu Sep 14 17:00:00 GMT+05:30 2017]"; 
datetime=datetime.replaceAll("\\[(.*)\\]", "$1"); 
System.out.println(datetime); // output is: Thu Sep 14 17:00:00 GMT+05:30 2017 
関連する問題