Thanks, another good idea. On 5/25/2018 11:30 AM, PIKAL Petr wrote: > Hi > I am not sure if it is more readable > >> paste(paste(unlist(strsplit(x,"")),".", sep=""), collapse="") > [1] "1.0.1.1.0.1.1.1." > > If you did not want last dot, it is a bit shorter. >> paste(unlist(strsplit(x,"")),collapse=".") > [1] "1.0.1.1.0.1.1.1" > Cheers > Petr > Tento e-mail a jakékoliv k němu připojené dokumenty jsou důvěrné a podléhají > tomuto právně závaznému prohlášení o vyloučení odpovědnosti: > https://www.precheza.cz/01-dovetek/ | This email and any documents attached > to it may be confidential and are subject to the legally binding disclaimer: > https://www.precheza.cz/en/01-disclaimer/ > >> -----Original Message----- >> From: R-help [mailto:r-help-boun...@r-project.org] On Behalf Of Evan Cooch >> Sent: Friday, May 25, 2018 3:43 PM >> To: R-help <r-help@r-project.org> >> Subject: [R] options other than regex >> >> Hi -- >> >> I'm looking for alternatives to regex for a fairly simply 'reformatting' >> problem. Alternatives only because a lot of folks have trouble >> parsing/interpreting regex expressions, and I'm looking for suggestions for >> something more 'transparent'. >> >> Here is an example of what I'm trying to do. Take the following string, >> which I >> call x, and for each character in the string, replace that character with the >> character, followed by a decimal. The following big of regex works...and >> illustrates the reformatting I'm after: >> >> x <- '10110111' >> print(x) >> >> y <- sub("\\s+$", "", gsub('(.{1})', '\\1.', x)) >> print(y) >> >> I had a look at formatC or prettyNum as another way to get there from here, >> but couldn't get it to work: >> >> x <- '10110111' >> hold <- prettyNum(as.numeric(x), big.mark = ".", big.interval = 1, >> format = "d", flag = "0", width = nchar(x)) >> print(hold) >> >> >> I tried making big.mark a decimal, but that fails, since it confuses >> 'prettyNum'. >> OK, so I try a 2-step approach >> >> x <- '10110111' >> hold <- prettyNum(as.numeric(x), big.mark = "x", big.interval = 1, >> format = "d", flag = "00", width = nchar(x)) >> hold2 <- (gsub("x",".",hold)) >> print(hold2) >> >> Seems to work, but...doesn't work (at least, based on what I tried) if the >> first >> character(s) in the string are 0's. [Whereas the regex approach handles this >> just >> fine...] >> >> >> x <- '0010110111' >> hold <- prettyNum(as.numeric(x), big.mark = "x", big.interval = 1, >> format = "d", flag = "00", width = nchar(x)) >> hold2 <- (gsub("x",".",hold)) >> print(hold2) >> >> >> Basically, it strips off the leading 0's. I'm sure I'm missing something with >> prettyNum/formatC, but I'm also guessing there are alternatives. >> Suggestions? >> >> Thanks in advance. >> >> ______________________________________________ >> R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see >> https://stat.ethz.ch/mailman/listinfo/r-help >> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html >> and provide commented, minimal, self-contained, reproducible code. > ________________________________ > Tento e-mail a jakékoliv k němu připojené dokumenty jsou důvěrné a jsou > určeny pouze jeho adresátům. > Jestliže jste obdržel(a) tento e-mail omylem, informujte laskavě neprodleně > jeho odesílatele. Obsah tohoto emailu i s přílohami a jeho kopie vymažte ze > svého systému. > Nejste-li zamýšleným adresátem tohoto emailu, nejste oprávněni tento email > jakkoliv užívat, rozšiřovat, kopírovat či zveřejňovat. > Odesílatel e-mailu neodpovídá za eventuální škodu způsobenou modifikacemi či > zpožděním přenosu e-mailu. > > V případě, že je tento e-mail součástí obchodního jednání: > - vyhrazuje si odesílatel právo ukončit kdykoliv jednání o uzavření smlouvy, > a to z jakéhokoliv důvodu i bez uvedení důvodu. > - a obsahuje-li nabídku, je adresát oprávněn nabídku bezodkladně přijmout; > Odesílatel tohoto e-mailu (nabídky) vylučuje přijetí nabídky ze strany > příjemce s dodatkem či odchylkou. > - trvá odesílatel na tom, že příslušná smlouva je uzavřena teprve výslovným > dosažením shody na všech jejích náležitostech. > - odesílatel tohoto emailu informuje, že není oprávněn uzavírat za společnost > žádné smlouvy s výjimkou případů, kdy k tomu byl písemně zmocněn nebo písemně > pověřen a takové pověření nebo plná moc byly adresátovi tohoto emailu > případně osobě, kterou adresát zastupuje, předloženy nebo jejich existence je > adresátovi či osobě jím zastoupené známá. > > This e-mail and any documents attached to it may be confidential and are > intended only for its intended recipients. > If you received this e-mail by mistake, please immediately inform its sender. > Delete the contents of this e-mail with all attachments and its copies from > your system. > If you are not the intended recipient of this e-mail, you are not authorized > to use, disseminate, copy or disclose this e-mail in any manner. > The sender of this e-mail shall not be liable for any possible damage caused > by modifications of the e-mail or by delay with transfer of the email. > > In case that this e-mail forms part of business dealings: > - the sender reserves the right to end negotiations about entering into a > contract in any time, for any reason, and without stating any reasoning. > - if the e-mail contains an offer, the recipient is entitled to immediately > accept such offer; The sender of this e-mail (offer) excludes any acceptance > of the offer on the part of the recipient containing any amendment or > variation. > - the sender insists on that the respective contract is concluded only upon > an express mutual agreement on all its aspects. > - the sender of this e-mail informs that he/she is not authorized to enter > into any contracts on behalf of the company except for cases in which he/she > is expressly authorized to do so in writing, and such authorization or power > of attorney is submitted to the recipient or the person represented by the > recipient, or the existence of such authorization is known to the recipient > of the person represented by the recipient.
[[alternative HTML version deleted]] ______________________________________________ R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.