У меня есть следующий вектор:
vec<-c("\n\t\t\t\n\t\t\t\n\t\t\t\t8900 E Runstack Rd \n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\tScottsdale, AZ \n\t\t\t\t\t85251\n\t\t\t" ,
"\n\t\t\t\n\t\t\t\n\t\t\t\t330 Orange Boulevard\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\tBeverly Hills, CA \n\t\t\t\t\t90212\n\t\t\t" ,
"\n\t\t\t\n\t\t\t\n\t\t\t\t645 Newport Center Drive \n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\tNewport Beach, CA \n\t\t\t\t\t92660\n\t\t\t" ,
"\n\t\t\t\n\t\t\t\n\t\t\t\t5000 Westlake Depot Road \n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\tPalo Alto, CA \n\t\t\t\t\t94304\n\t\t\t" ,
"\n\t\t\t\n\t\t\t\n\t\t\t\t646 Lucern Road\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\tSan Diego, CA \n\t\t\t\t\t92108\n\t\t\t"
)
Я хотел бы удалить все \n
и \t
.Я попробовал следующее:
str_replace_all(vec, "\n|\t", " ")
[1] " 8900 E Runstack Rd Scottsdale, AZ 85251 "
[2] " 330 Orange Boulevard Beverly Hills, CA 90212 "
[3] " 645 Newport Center Drive Newport Beach, CA 92660 "
[4] " 5000 Westlake Depot Road Palo Alto, CA 94304 "
[5] " 646 Lucern Road San Diego, CA 92108 "
Но это преобразовало их в пробел.Я попробовал это:
str_replace_all(vec, "\n|\t", "")
[1] "8900 E Runstack Rd Scottsdale, AZ 85251" "330 Orange BoulevardBeverly Hills, CA 90212"
[3] "645 Newport Center Drive Newport Beach, CA 92660" "5000 Westlake Depot Road Palo Alto, CA 94304"
[5] "646 Lucern RoadSan Diego, CA 92108"
Но обратите внимание, что в некоторых случаях нет пробелов, где нужно (например, индекс 2 330 Orange BoulevardBeverly Hills, CA 90212
).Проблема в том, что \n
прикреплен к концу некоторого текста, а в других случаях есть пробел.Как я могу заменить \n
пробелом только в том случае, если он касается буквы, которая идет непосредственно перед ней, но заменяет ее пробелом при любых других обстоятельствах?Я ищу следующий результат:
[1] "8900 E Runstack Rd Scottsdale, AZ 85251" "330 Orange Boulevard Beverly Hills, CA 90212"
[3] "645 Newport Center Drive Newport Beach, CA 92660" "5000 Westlake Depot Road Palo Alto, CA 94304"
[5] "646 Lucern Road San Diego, CA 92108"
Я могу достичь вышеуказанного, используя str_squish(vec)
после выполнения str_replace_all(vec, "\n|\t", " ")
, но я бы хотел однострочное решение.