如何使用scala仅在字符串中替换最后一位数字

时间:2016-04-19 12:38:08

标签: scala

我有一个字符串“October.29.2009 11:00 am” 我想编写一个通用代码,用空格替换时间。 我试过以下代码:

$scope.SearchList = function(row) {

    if ($scope.selectedFieldName && $scope.searchText) {
      var propVal = row[$scope.selectedFieldName.toLowerCase()];
      if (propVal) {
        return propVal.toUpperCase().indexOf($scope.searchText.toUpperCase()) > -1;
      } else {
        return false;
      }
    }
    return true;    
  };

以上代码只能替换am和pm。我也需要更换时间。

3 个答案:

答案 0 :(得分:1)

您是否尝试拆分字符串。使用此:

{{1}}

返回的数组的第一个元素将为您提供没有时间的日期。

答案 1 :(得分:0)

你可以像这样使用正则表达式

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

答案 2 :(得分:0)

你的时间总是带着前导零吗?

07:08

然后使用

myString.reverse.substring(countYourCharsAndDigits).reverse

或者使用与第一部分相匹配的正则表达式,您正在参与其中,其余部分将其写为

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

()需要'而不是