Replace last comma in character with “ &”
I have many different characters which have the following structure:
# Example
x <- "char1, char2, char3"
I want to remove the last comma of this character with " &", i.e. the desired output should look as follows:
# Desired output
"char1, char2 & char3"
How could I replace the last comma of a character with " &"?
r replace character
add a comment |
I have many different characters which have the following structure:
# Example
x <- "char1, char2, char3"
I want to remove the last comma of this character with " &", i.e. the desired output should look as follows:
# Desired output
"char1, char2 & char3"
How could I replace the last comma of a character with " &"?
r replace character
1
It seems like there is much interest in this topic. Therefore, I have written an article which summarizes the responses of this thread: statistical-programming.com/… Thanks again for all the great responses!
– JSP
Feb 7 at 21:28
2
this is a string not a character, right?
– Will Barnwell
Feb 7 at 23:06
1
Ah, no, r calls strings characters. Confusing
– Will Barnwell
Feb 7 at 23:32
add a comment |
I have many different characters which have the following structure:
# Example
x <- "char1, char2, char3"
I want to remove the last comma of this character with " &", i.e. the desired output should look as follows:
# Desired output
"char1, char2 & char3"
How could I replace the last comma of a character with " &"?
r replace character
I have many different characters which have the following structure:
# Example
x <- "char1, char2, char3"
I want to remove the last comma of this character with " &", i.e. the desired output should look as follows:
# Desired output
"char1, char2 & char3"
How could I replace the last comma of a character with " &"?
r replace character
r replace character
asked Feb 7 at 16:11
JSPJSP
75611020
75611020
1
It seems like there is much interest in this topic. Therefore, I have written an article which summarizes the responses of this thread: statistical-programming.com/… Thanks again for all the great responses!
– JSP
Feb 7 at 21:28
2
this is a string not a character, right?
– Will Barnwell
Feb 7 at 23:06
1
Ah, no, r calls strings characters. Confusing
– Will Barnwell
Feb 7 at 23:32
add a comment |
1
It seems like there is much interest in this topic. Therefore, I have written an article which summarizes the responses of this thread: statistical-programming.com/… Thanks again for all the great responses!
– JSP
Feb 7 at 21:28
2
this is a string not a character, right?
– Will Barnwell
Feb 7 at 23:06
1
Ah, no, r calls strings characters. Confusing
– Will Barnwell
Feb 7 at 23:32
1
1
It seems like there is much interest in this topic. Therefore, I have written an article which summarizes the responses of this thread: statistical-programming.com/… Thanks again for all the great responses!
– JSP
Feb 7 at 21:28
It seems like there is much interest in this topic. Therefore, I have written an article which summarizes the responses of this thread: statistical-programming.com/… Thanks again for all the great responses!
– JSP
Feb 7 at 21:28
2
2
this is a string not a character, right?
– Will Barnwell
Feb 7 at 23:06
this is a string not a character, right?
– Will Barnwell
Feb 7 at 23:06
1
1
Ah, no, r calls strings characters. Confusing
– Will Barnwell
Feb 7 at 23:32
Ah, no, r calls strings characters. Confusing
– Will Barnwell
Feb 7 at 23:32
add a comment |
4 Answers
4
active
oldest
votes
One option is stri_replace_last
from stringi
library(stringi)
stri_replace_last(x, fixed = ',', ' &')
#[1] "char1, char2 & char3"
add a comment |
You can use sub
:
sub(",([^,]*)$"," &\1", x)
# [1] "char1, char2 & char3"
add a comment |
You could split and unsplit it.
u <- unlist(strsplit(x, ""))
u[tail(grep(",", u), 1)] <- " &"
paste0(u, collapse="")
# [1] "char1, char2 & char3"
add a comment |
We can also use str_locate_all
with str_sub
:
library(stringr)
pos <- str_locate_all(x, ',')[[1]][2, ]
str_sub(x, pos[1], pos[2]) <- " &"
# [1] "char1, char2 & char3"
add a comment |
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f54577567%2freplace-last-comma-in-character-with%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
4 Answers
4
active
oldest
votes
4 Answers
4
active
oldest
votes
active
oldest
votes
active
oldest
votes
One option is stri_replace_last
from stringi
library(stringi)
stri_replace_last(x, fixed = ',', ' &')
#[1] "char1, char2 & char3"
add a comment |
One option is stri_replace_last
from stringi
library(stringi)
stri_replace_last(x, fixed = ',', ' &')
#[1] "char1, char2 & char3"
add a comment |
One option is stri_replace_last
from stringi
library(stringi)
stri_replace_last(x, fixed = ',', ' &')
#[1] "char1, char2 & char3"
One option is stri_replace_last
from stringi
library(stringi)
stri_replace_last(x, fixed = ',', ' &')
#[1] "char1, char2 & char3"
answered Feb 7 at 16:13
akrunakrun
418k13206281
418k13206281
add a comment |
add a comment |
You can use sub
:
sub(",([^,]*)$"," &\1", x)
# [1] "char1, char2 & char3"
add a comment |
You can use sub
:
sub(",([^,]*)$"," &\1", x)
# [1] "char1, char2 & char3"
add a comment |
You can use sub
:
sub(",([^,]*)$"," &\1", x)
# [1] "char1, char2 & char3"
You can use sub
:
sub(",([^,]*)$"," &\1", x)
# [1] "char1, char2 & char3"
answered Feb 7 at 16:29
Moody_MudskipperMoody_Mudskipper
24.4k33568
24.4k33568
add a comment |
add a comment |
You could split and unsplit it.
u <- unlist(strsplit(x, ""))
u[tail(grep(",", u), 1)] <- " &"
paste0(u, collapse="")
# [1] "char1, char2 & char3"
add a comment |
You could split and unsplit it.
u <- unlist(strsplit(x, ""))
u[tail(grep(",", u), 1)] <- " &"
paste0(u, collapse="")
# [1] "char1, char2 & char3"
add a comment |
You could split and unsplit it.
u <- unlist(strsplit(x, ""))
u[tail(grep(",", u), 1)] <- " &"
paste0(u, collapse="")
# [1] "char1, char2 & char3"
You could split and unsplit it.
u <- unlist(strsplit(x, ""))
u[tail(grep(",", u), 1)] <- " &"
paste0(u, collapse="")
# [1] "char1, char2 & char3"
answered Feb 7 at 16:22
jay.sfjay.sf
6,56231841
6,56231841
add a comment |
add a comment |
We can also use str_locate_all
with str_sub
:
library(stringr)
pos <- str_locate_all(x, ',')[[1]][2, ]
str_sub(x, pos[1], pos[2]) <- " &"
# [1] "char1, char2 & char3"
add a comment |
We can also use str_locate_all
with str_sub
:
library(stringr)
pos <- str_locate_all(x, ',')[[1]][2, ]
str_sub(x, pos[1], pos[2]) <- " &"
# [1] "char1, char2 & char3"
add a comment |
We can also use str_locate_all
with str_sub
:
library(stringr)
pos <- str_locate_all(x, ',')[[1]][2, ]
str_sub(x, pos[1], pos[2]) <- " &"
# [1] "char1, char2 & char3"
We can also use str_locate_all
with str_sub
:
library(stringr)
pos <- str_locate_all(x, ',')[[1]][2, ]
str_sub(x, pos[1], pos[2]) <- " &"
# [1] "char1, char2 & char3"
answered Feb 7 at 16:32
avid_useRavid_useR
13.3k41933
13.3k41933
add a comment |
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f54577567%2freplace-last-comma-in-character-with%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
1
It seems like there is much interest in this topic. Therefore, I have written an article which summarizes the responses of this thread: statistical-programming.com/… Thanks again for all the great responses!
– JSP
Feb 7 at 21:28
2
this is a string not a character, right?
– Will Barnwell
Feb 7 at 23:06
1
Ah, no, r calls strings characters. Confusing
– Will Barnwell
Feb 7 at 23:32