July 13, 2014 Re: Insert a char in string | ||||
---|---|---|---|---|
| ||||
Posted in reply to Alexandre | On 07/10/2014 09:05 AM, Alexandre wrote: > I have a string X and I need to insert a char in that string... > > auto X = "100000000000000"; > > And I need to inser a ',' in position 3 of this string..., I try to use > the array.insertInPlace, but, not work... > > I try this: > auto X = "100000000000000"; > auto N = X.insertInPlace(1,'0'); Here is another solution, which does not modify the original string: import std.stdio; import std.algorithm; import std.range; import std.string; void main() { auto number = "12345678"; auto formatted = zip(number.retro, sequence!"n + 1") .map!(z => format(!(z[1] % 3) ? "%s," : "%s", z[0])) .join .retro; assert(formatted.equal("12,345,678")); } I am not happy with the .join there because I think it makes an array but I could not get it to compile with the lazy .joiner because I think it dose not look like a bidirectional range to .retro. Ali |
Copyright © 1999-2021 by the D Language Foundation