none
Text im String ersetzen durch RRS feed

  • Frage

  • Ich möchte in einem Text der in einem Bericht angezeigt wird Textteile ersetzen.

    Sprich im Detailbereich habe ich X mal Positionstextet die Zeichenfolgen enthalten die wie folgt sein können

    BlaBla € 12000,00 BlaBla

    BlaBla  12000,00 € BlaBla

    BlaBla  12000,00€ BlaBla

    BlaBla €12000,00 BlaBla

    Natürlich ist der Wert immer unterschiedlich und evtl. sogar Punkt (.) als Trennzeichen

    Es geht darum diese Werte im Bericht unkenntlich zu machen

    BlaBla €-- BlaBla

    BlaBla --€ BlaBla

     

    In einem Text können mehrere dieser € werte vorkommen

    Komme nicht auf eine Lösung



    • Bearbeitet MCDPone Donnerstag, 18. März 2021 15:17
    Donnerstag, 18. März 2021 14:02

Antworten

  • Hallo im folgenden ein kleines Beispiel (programmiert für LinqPad) mit Regex:

    void Main()
    {
    	var s = "BlaBla € 12000,00 BlaBla\r\n"
    			+"BlaBla  12000,00 € BlaBla\r\n"
    			+"BlaBla  12000,00€ BlaBla\r\n"
    			+"BlaBla €12000,00 BlaBla\r\n"
    			+"BlaBla € 12000.00 BlaBla\r\n"
    			+"BlaBla  12000.00 € BlaBla\r\n"
    			+"BlaBla  12000.00€ BlaBla\r\n"
    			+"BlaBla €12000.00 BlaBla\r\n";
    	
    	var pattern = "([\\d.,]+\\s*€)|(€\\s*[\\d.,]+)";
    	
    	MatchEvaluator eval = (Match m) => {
    	
    		if(m.Value.StartsWith("€"))
    			return "€--";
    			
    		if(m.Value.EndsWith("€"))
    			return "--€";
    			
    		return m.Value;
    	};
    	
    	var replace = Regex.Replace(s, pattern, eval);
    	
    	replace.Dump();
    }

    Vielleicht hilft dir das weiter.


    • Bearbeitet Alpecine Donnerstag, 18. März 2021 16:27
    • Als Antwort markiert MCDPone Donnerstag, 8. April 2021 07:10
    Donnerstag, 18. März 2021 16:25