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:[email protected]] On Behalf Of Evan Cooch
>> Sent: Friday, May 25, 2018 3:43 PM
>> To: R-help <[email protected]>
>> 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.
>>
>> ______________________________________________
>> [email protected] 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]]
______________________________________________
[email protected] 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.