Я не могу решить приведенный ниже вопрос. Я прошу всех помочь мне в этом отношении.
У меня есть ряд амперсандов (&) в моих данных, я хочу заменить пару амперсандов некоторым значением,но по какой-то причине я не могу это сделать.
Моя попытка и пример:
string1 <- "This aa should be replaced: but this aaa shouldn't"
string2 <- "This && should be replaced: but this &&& shouldn't"
gsub("aa", "XXX", string1) #1.
gsub("\\baa\\b", "XXX", string1) #2.
gsub("&&", "XXX", string2) #3.
gsub("\\b&&\\b", "XXX", string2) #4.
Выше, если я хочу сопоставить 'aa' из строки1,У меня может быть два подхода:
В подходе 1 (обозначается как: # 1) я могу просто передать 'aa', но это также частично будет соответствовать 'aaa', чего я не хочу, я хочу, чтобы мойрегулярное выражение, чтобы точно соответствовать парам «а», который в моем случае является «аа».
Чтобы решить эту проблему, я использую регулярное выражение (# 2), в этом случае оно работает нормально.
Теперь, в string2, я ожидал аналогичного поведения, где вместо сопоставления пары 'a«Я хочу сопоставить пару« && », которые не совпадают.
Попытка (# 3) работает, но это не тот результат, который мне нужен, поскольку он также частично соответствует '&&&',
Попытка (# 4) не работает для некоторыхпричина и не замена строки.
Мой вопрос:
1) Why pair of ampersands are not working with boundary conditions ?
2) What is the way around to solve this problem ?
У меня действительно было трудное время, и я потратил впустую весь свой день из-за этого и действительноЧувствовал себя плохо, пытался найти решение в Google, но пока не увенчался успехом.
В случае, если кто-то знает, если его там, пожалуйста, перенаправьте меня на пост.ИЛИ если кто-то найдет его дубликат, сообщите мне, я его удалю.
Спасибо за вашу помощь и прочитал вопрос.
РЕДАКТИРОВАТЬ : Мое слово ограниченопространство на данный момент.
Выходы :
> gsub("aa", "XXX", string1)
[1] "This XXX should be replaced: but this XXXa shouldn't"
> gsub("\\baa\\b", "XXX", string1)
[1] "This XXX should be replaced: but this aaa shouldn't"
>
> gsub("&&", "XXX", string2)
[1] "This XXX should be replaced: but this XXX& shouldn't"
> gsub("\\b&&\\b", "XXX", string2)
[1] "This && should be replaced: but this &&& shouldn't"
>
Примечание : Я также проверил с помощью perl = TRUE, но он не работает.