2016-04-19 1 views
0

文字列が "October.29.2009 11:00 a.m." 時間を空白に置き換える汎用コードを書きたいと思っています。上記のコードスカラを使用して文字列の最後の数字のみを置き換える方法

{ 
    val date="October.29.2009 11:00 a.m." //time may be any value 
    date.replace("a.m.","").replace("p.m.","") 
} 

は午前と午後のみを置き換えることができます。 私は以下のコードを試してみました。私も時間を交換する必要があります。

答えて

0

あなたは、文字列を分割しようとしたことがあり、その

^([0-9]|0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]$ 
+0

正規表現はnですreplace()を使った作業 – user6207861

+0

regexはreplaceAll()またはreplaceFirst()メソッドで動作します。 replace()メソッドではありません – Amriteya

+0

私は以下のコードを試しましたが、 "expecting strin、actualregex" val str = "October.29.2009 11:00 a.m." str.replace( "^([0-9] | 0 [0-9] | 1 [0-9] | 2 [0-3]):[0-5] [0-9] $"。r 、 "") – user6207861

1

のような正規表現を使用することができます。

date.split(" ") 

返される配列の最初の要素は、時間のない日付を返します。

+0

でもstrは「2009年10月29日11:00 a.m」のようなものかもしれません。 – user6207861

+0

これが当てはまる場合は、正規表現を使用することができます。あなたの文字列が到着する特定のパターンがある場合、正規表現をエスケープすることができます。それがパターンに関して非常にあいまいであれば、正規表現は行くべき道です – Amriteya

+0

私はreplace()で正規表現を使う方法を知らない。 :( – user6207861

0

いつも先行ゼロであなたの時間はありますか?

07:08 

その後

myString.reverse.substring(countYourCharsAndDigits).reverse 

使用するか、またはあなたがinterestetしていることを、最初の部分と一致する正規表現、残りを使用して

def dateExtractor(date:String) = { 
    val MatchExpression = "('hereTheRegExForTheInterestingPart')('regExForRest)".r 
    val MatchExpression(myNewString,rest) = date 
    myNewString 
} 

()のようにそれを書きますマッチェンのために必要です'でない

関連する問題