Die Bestimmung, dass an einem Leerzeichen getrennt wird - ist recht simple!

public static string[] StringSplitter(string InputString, int SplitElements)
{
        if (InputString != null && InputString.Length != string.Empty && 
SplitElements > 1)
        {
                string WorkString = string.Empty;
                int TextLength = InputString.Length;
                int ElementLength = TextLength / SplitElements; 
                
                string[] TextElements = new string[SplitElements];
                
                int LastSpaceOld = 0;
                for (int i=0; i < SplitElements; i++)
                {
                        if (i != SplitElements - 1)
                        {
                        WorkString = InputString.Substring(LastSpaceOld, 
ElementLength + LastSpaceOld);
                        int LastSpaceNew = WorkString.LastIndexOf(" ");
                        WorkString = WorkString.Substring(LastSpaceOld, 
LastSpaceNew);
                        LastSpaceOld = LastSpaceNew;                    
                        TextElements[i] = WorkString;
                        }
                        Else
                        {
                                TextElements[i] = 
InputString.Substring(LastSpaceOld, TextLength - LastSpaceOld)
                        }
                }       
                return TextElements;
        }

        return null;
}

Diese Methode m�sste funktionieren! Aber Achtung - ich habe diese direkt im 
Outlook geschrieben - und nicht getestet! Somit sind garantiert noch ein paar 
Fehler drin!!

Das ganze funktioniert so:
1. Kontrolle das g�ltiger InputString �bergeben wurde - und auch die 
SplitElements (Anzahl der gew�nschten Spalten) gr��er als 1 ist.

2. L�nge des InputStrings holen - dann ermitteln der Teill�ngen der 
gesplitteten Elemente - hier solltest Du vielleicht noch ein bisschen genauer 
runden. (je nach bedarf)

3. erstellen eines String Arrays mit der Anzahl der Split Elemente.

4. LastSpaceOld Variable - um zu bestimmen - wie weit er schon war.

5. durchgehen des Strings - und ablegen der einzelnen Elemente im StringArray.

6. wenn er beim letzten Element ist - also i == SplitElements - 1 mu� er 
nat�rlich den gesamten Rest rein kopieren.

7. R�ckgabe als StringArray.

Man kann das ganze sicher noch verbessern - wie gesagt ist nur ein Schnellschu� 
- wie das ganze funktionieren k�nnte. Weiterhin ist es sicher auch ung�nstig 
null zur�ck zu geben - wenn SplitElements = 1 ist. Besser w�re da auch ein 
StringArray mit nur einem Element zur�ck zu geben. Aber das w�rde jetzt den 
Rahmen sprengen.

Viel Spass beim Aussprobieren.

PS: Die Analyse von Bildern - ist aber deutlich komplizierter - da du dazu 
immer das Bild auswerten m�sstest - oder Du zwingend die Werte f�r Height und 
Width mit im Text haben m�sstest! Weiterhin ist da auch das Problem mit 
Flie�text um das Bild. Somit wird es wohl recht schwer die genauen Daten zu 
bestimmen. Aber machbar ist alles ;-)

-----Urspr�ngliche Nachricht-----
Von: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Im Auftrag von Raphael Saxer
Gesendet: Montag, 14. Februar 2005 20:49
An: [email protected]
Betreff: [Asp.net] Text in Spalten aufteilen / & Silbentrennung

Hallo,
mein Layouter w�rde gerne die Texte in Spalten aufteilen. Bei zwei 
Spalten kann ich mir das ja noch vorstellen. Aber wie mache ich, dass er 
mir nicht mitten in einem Wort trennt sondern dort in der ungef�hren 
Mitte des Textes wo ein Leerzeichen ist? Gibts da schon etwas 
Bestehendes? Eine Hilfe bez�glich Arbeiten mit Spalten oder so?

Ich bin mal soweit gekommen:
            string strContent = reader.GetString(1);
            int strLength = strContent.Length;
            strLength = strLength / 2;
            TR_Left.Text += strContent.Substring(0,strLength - 1);
            TR_Right.Text += strContent.Substring(strLength + 1);

(und wenn auf einmal noch ein Bild kommt? muss ich dann ausrechnen wie 
viele Zeichen die entsprechende Bildgr�sse schluckt und das noch 
miteinbeziehen?)

Zweite Frage:
hat jemand schon mal was mit einer automatischen Silbentrennung gemacht?
meine Idee w�re dass man die meistgebrauchten W�rter in eine Datenbank 
eingibt und dann jeweils das Wort mit dem &shy; bei den Silben auch. 
Wenn nun jemand im Content Management den Text eingibt, dass es den Text 
mit Replace durchl�uft und alle bekannten W�rter aus der Datenbank mit 
den W�rtern mit den &shy;'s ersetzt.
Gibts da was einfacheres, bestehendes oder so?

Vielen Dank und Gruss
Raphael


_______________________________________________
Asp.net Mailingliste, Postings senden an:
[email protected]
An-/Abmeldung und Suchfunktion unter:
http://www.glengamoi.com/mailman/listinfo/asp.net

_______________________________________________
Asp.net Mailingliste, Postings senden an:
[email protected]
An-/Abmeldung und Suchfunktion unter:
http://www.glengamoi.com/mailman/listinfo/asp.net

Antwort per Email an