WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Umlaute in Strings ersetzen

 

Anton

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 27.05.2014, 01:37     Titel: Umlaute in Strings ersetzen
  Antworten mit Zitat      
Hallo Allerseits!
Ich habe wieder ein Problem, habe eine Aufgabe einen m.File zu schreiben, in dem man zuerst ein Wort eingibt, und danach wird es nach Umlaute geprüft, wenn es einige gibt sollen diese durch 'ae', 'oe', 'ue' ersetzt werden. Problem strrep funktioniert nicht, weil der Matlab selbst die Umlaute nicht erkennen kann, und ersetzt dann halt durch nichts. Das Wort bleibt also unverändert. Brauche eure Hilfe, schlaue Köpfe. Very Happy Very Happy Very Happy


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.499
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 27.05.2014, 08:48     Titel:
  Antworten mit Zitat      
Hallo,

geht doch?
Code:
wort = 'übung'
wort = strrep(wort, 'ü', 'ue')


Das muss eben der Reihe nach mit allen großen und kleinen Umlauten gemacht werden.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
TurboUlli
Forum-Anfänger

Forum-Anfänger


Beiträge: 35
Anmeldedatum: 26.05.14
Wohnort: NRW
Version: 2014a
     Beitrag Verfasst am: 27.05.2014, 09:02     Titel:
  Antworten mit Zitat      
Hi,

welche Matlab Version benutzt du? Oder nutzt du ein nicht deutsches Betriebssystem?
Bei mir funktioniert strrep wunderbar.

Code:
TestStr = 'Häuser mit öffentlichen Türen';

TestStr = strrep(TestStr, 'ä', 'ae');
TestStr = strrep(TestStr, 'ü', 'ue');
TestStr = strrep(TestStr, 'ö', 'oe');
 
Private Nachricht senden Benutzer-Profile anzeigen
 
Anton

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 27.05.2014, 11:49     Titel: Umlaute in Strings ersetzen
  Antworten mit Zitat      
Ach ja genau. Das könnte nähmlich das Problem sein. Ich hab mein Laptop aus Polen und daher ein Polnisches Betriebssystem. Vielen Dank!
 
Anton

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 27.05.2014, 12:34     Titel:
  Antworten mit Zitat      
Ah ja, ich hab gerade mit 'h','g','b' gemacht und es funktioniert, aber ich habe dann 6 ausgaben. Jedes mal wird das Wort überprüft und jedes mal ausgegeben, auch wenn keine Buchstaben drinnwaren. Also ich brauche eine Abfrage (ein Test), ob es den Buchstaben im Wort gibt, dann werde ich mit if else machen, damit ich dann nur eine Ausgabe habe. Gibt es irgendein Befehl womit man Buchstaben sucht und dann bekommt z.B. 1 bei positivem Ergebnis und 0 wenn dieser Buchstabe im Wort nicht erhalten ist???
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.499
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 27.05.2014, 12:55     Titel:
  Antworten mit Zitat      
Hallo,

bitte den Code hier reinkopieren anstatt ihn zu beschreiben.
Ausgabe kann generell durch Strichpunkte unterdrückt werden.

Zitat:
Gibt es irgendein Befehl womit man Buchstaben sucht und dann bekommt z.B. 1 bei positivem Ergebnis und 0 wenn dieser Buchstabe im Wort nicht erhalten ist???

strfind

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Andreas Goser
Forum-Meister

Forum-Meister


Beiträge: 3.654
Anmeldedatum: 04.12.08
Wohnort: Ismaning
Version: 1.0
     Beitrag Verfasst am: 27.05.2014, 13:28     Titel:
  Antworten mit Zitat      
Der bisher hier angegebene Beispielcode *sollte* unter allen Betriebssystemen identisch funktionieren.

Andreas
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
TurboUlli
Forum-Anfänger

Forum-Anfänger


Beiträge: 35
Anmeldedatum: 26.05.14
Wohnort: NRW
Version: 2014a
     Beitrag Verfasst am: 27.05.2014, 14:29     Titel:
  Antworten mit Zitat      
Um eine Ausgabe zu unterdrücken, beendest du den Befehl mit einem Semikolon

Code:

A = 5 + 9;    % die Ausgabe wird unterdrückt
B = 3 - 2      % diese Ausgabe wird angezeigt
 


Bei der Ersetzung von Umlauten bitte nicht vergessen, dass ö und Ö unterschiedliche Symbole sind bzw. separate Einträge in der UTF-8 abgelegt sind (oder welche Tabelle man halt gerade benutzt).
Groß und Kleinschreibung also beachten!

Eine if-else Abfrage ist hier eigentlich nicht notwendig, da nichts passieren sollte, wenn strrep den gesuchten Character im String nicht findet.
Wenn also..
Code:

A = 'Häuser';
A = strrep(A, 'ü', 'ue');
 

Sollte der Inhalt von A unverändert sein, also A = 'Häuser'
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum posten
Du kannst Dateien in diesem Forum herunterladen
.





 Impressum  | Nutzungsbedingungen  | Datenschutz | FAQ | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2025 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks

MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.