使用stri_replace_all_regex清除拼写错误的名称

时间:2016-05-16 14:34:16

标签: r

我有一个列表,其中包含一些名称,其中一些名称拼写错误。

fruits <- c("apple", "two pears", "three bananas", "appl3")

我想使用stri_replace_all_regex包下的stringi方法搜索以“a”开头的任何字符串,并将其替换为字符串“apple”。

但是,我认为我对正则表达式的使用并没有捕捉到我想要实现的目标。

我被困在哪里:

stri_replace_all_regex(fruits,"^a","apple")
[1] "applepple"     "two pears"     "three bananas" "appleppl3"

stri_replace_all_regex(fruits,"^a(pple)?$","apple")
[1] "apple"         "two pears"     "three bananas" "appl3"

2 个答案:

答案 0 :(得分:1)

你的解决方案查找以'a'开头的字符串,然后删除'a'并添加字符串'apple',以便 a pple变为 apple pple。

你想要的是选择以a开头的整个字符串,然后用新字符串'apple'替换它:

stri_replace_all_regex(fruits, "^a.*", "apple")

答案 1 :(得分:0)

您可以使用basesubgsub

使用fruits <- c("apple", "two pears", "three bananas", "appl3") gsub("^a.*", "apple", fruits) "apple" "two pears" "three bananas" "apple" 解决问题
angular.module('app', [])

.directive('someDirective', function () {
  return {
    scope: {},
    controller: function ($scope) {
      this.name = 'Pascal';
      $scope.color = 'blue';
    },
    controllerAs: 'ctrl',
    template: '<div>name: {{ctrl.name}} and Color: {{color}}</div>'
  };
});