2017-05-20 15 views
0

Ich habe ein String-Muster NNNNNN und eine ganze Zahl 1.Wie ersetzt man das String-Muster durch eine fortlaufende Nummer?

Wie kann ich dieses Muster mit der nächsten sequenziellen ganzen Zahl ersetzen und den Rest mit Nullen aufzufüllen, so dass ich diese Zeichenfolge:

000002

Vielen Dank für jede Hilfe.

+1

Wie das Muster das Ergebnis beeinflussen? Ist nur die Anzahl der Nullen oder können verschiedene Zeichen innerhalb sein? – Ursus

Antwort

2

Ich würde verwenden rjust:

counter = 1 
pattern = 'NNNNNN' 

counter.succ.to_s.rjust(pattern.length, '0') 
#=> "000002" 
+0

Funktioniert wie ein Charme, vielen Dank. – Tintin81

2

Ich glaube, du es so gemeint:

start_str = '0' * 'NNNNNN'.length 
puts start_str.succ 

Oder

pattern_len = 'NNNNNN'.length 
start_value = 1 
puts format("%0#{pattern_len}d", start_value +1) 
Verwandte Themen