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.

Reply via email to