Forum: PC-Programmierung Ruby: "ä".upcase ? unicode?


von Niemand (Gast)


Lesenswert?

Da freut man sich, sein 'Problem' spielerisch mit einer neuen, 
anscheinend netten Sprache zu lösen, und dann sowas!
Weiß jemand zufällig Rat?

von Wegstaben V. (wegstabenverbuchsler)


Lesenswert?

was genau ist die Frage?

von Niemand (Gast)


Lesenswert?

Als workaround:
1
wordarray.each do |word|
2
    word.gsub!(/[äöü]/) do |char| 
3
      case char
4
        when 'ä'
5
          then 'Ä'
6
        when 'ö'
7
          then 'Ö'
8
        when 'ü'
9
          then 'Ü'
10
      end
11
    end
12
    word.upcase!
13
  end



wie geht das elegant?

von Niemand (Gast)


Lesenswert?

Da "ä".upcase nicht geht, ist die Frage, wie es denn gemacht werden 
kann. Upcase ist locale-unsensitiv, d.h. nur Zeichen aus [a-z] match.
Ich möchte aber Umlaute auch vergrößern, noch besser wäre allerdings 
eine unspezifische Lösung, die auch für andere Schreibräume gilt.

von Niemand (Gast)


Lesenswert?

Wie lassen sich denn Zeichen einer Klasse durch spezifizierte 
Gegenstücke ersetzen? D.h. mit

str.gsub!( pattern, replacement )

soll ein ä aus pattern mit dem Ä aus replacement ersetzt werden. Ist das 
möglich?

Zumindest die case-Geschichte müßte doch eleganter gehen.

von Niemand (Gast)


Lesenswert?

translate:

str.tr( fromString, toString ) -> aString

puts 'äöü'.tr('äöü', 'ÄÖÜ')

von Niemand (Gast)


Lesenswert?

ISO 8859-1

replace_char = 'àáâãäåæçèéêëìíîïðñòóôõöøùúûüý'
replace_with = 'ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝ'

ruby, grossbuchstaben, umwandeln, uppercase, lowercase, upcase, 
downcase, umlaut, trema, krouzek, gross, klein, regexp, umwandeln, 
zeichen

von der mechatroniker (Gast)


Lesenswert?

Da so jedes Zeichen immer nur durch ein anderes ersetzt werden kann, 
funktioniert diese Lösung natürlich nicht fürs ß, welches durch SS 
ersetzt werden müßte. (nur mal so als Denkanstoß, als Nicht-Rubi-Experte 
kann ich leider keine Lösung beitragen).

von nachrubygesuchter (Gast)


Lesenswert?

Kennst Du das schon:
http://icu4r.rubyforge.org/
Metasuchmaschinen sind immer Dein Freund, wenn man denn weiß wonach zu 
suchen ist ;)

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.