2016-11-22 1 views
-1

Vorname wie unten:Excel oder Rails, einem Großbuchstaben, alle Kappen auf aktivierte ändern, aber hinsichtlich Kapitalisierung Mitte Name

richard Richard sein sollte

RICHARD Richard sein sollte

RichAnne sollte RichAnne sein

Ich würde eher dies in Excel getan werden, aber Meine andere Option ist die Verwendung von Rails.

+0

Also, wenn Sie nur einen Großbuchstaben in der Mitte eines Namens haben, ist es wahrscheinlich richtig? Und Sie haben nur Vornamen, keine Vornamen plus Nachnamen? Wenn du RICHANNE hättest, wärst du stecken geblieben? –

+0

Um welche Art von Daten handelt es sich? –

Antwort

0

Versuchen Sie folgendes:

new_string = string.slice(0,1).capitalize + string.slice(1..-1) 
0

Diese für Ihre Beispiele funktioniert.

words = ['richard', 'RICHARD', 'richAnne'] 
=> ["richard", "RICHARD", "richAnne"] 

words.map{|w| w.titleize.gsub(' ','')} 
=> ["Richard", "Richard", "RichAnne"] 
0

In Rails können Sie tun:

>> 'richard'.titleize.split.join 
=> "Richard" 
>> 'RICHARD'.titleize.split.join 
=> "Richard" 
>> 'richAnne'.titleize.split.join 
=> "RichAnne" 

Die .split.join für den ersten beiden Fällen nicht notwendig ist, aber es ist für die letzte.

0

Nur zum Vergleich, in Excel können Sie versuchen, diesen

=IF(SUM((CODE(MID(A1&REPT(" ",10),COLUMN(A:J),1))>=65)*(CODE(MID(A1&REPT(" ",10),COLUMN(A:J),1))<=90))=LEN(A1),PROPER(A1),UPPER(LEFT(A1))&RIGHT(A1,LEN(A1)-1)) 

die die Anzahl der Großbuchstaben im Namen zählt, aber es sieht sehr chaotisch im Vergleich zu den Ruby-Lösungen. Ändern Sie den längsten Namen, den Sie erwarten.

Es ist eine Matrixformel und muss mit CtrlShift-Geben Sie

Sie sie auch durch Überprüfung eingegeben werden, um zu sehen tun könnte, wenn es waren jede Kleinbuchstaben im Namen und wenn ja , einfach den ersten Buchstaben groß schreiben.

=IF(SUM(--ISNUMBER(FIND(MID("abcdefghijklmnopqrstuvwxyz",COLUMN(A:Z),1),A1))),UPPER(LEFT(A1))&RIGHT(A1,LEN(A1)-1),PROPER(A1)) 

Eine Muster-Matching-Lösung wäre besser, würde aber VBA benötigen.

enter image description here

Verwandte Themen