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 ­ 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 ­'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