Hej! Har inget förslag på kod men prova att 1, ställa dig på position 100, finns något space där, " " så kan du bryta, annars får du söka till vänster om tecken 100 för att hitta, typ ... tänker högt Ja det var den lösningen jag kom på, inte den optimala precis men fungerar :) Snyggt, bra jobbat och tack för att du delade med dig. Nu kommer någon annan att kunna använda det exemplet i framtiden! Här har du ett annat alternativ.Hur gör jag med "New Line" utan att bryta mitt i orden?
Jag undrar hur man gör smidigast med radbrytning efter 100 tecken och
mellan två ord, alltså att man räknar tillbaka bland tecknen tills man når ett blanksteg mellan orden och
lägger in en "New Line". och inte mitt i ett ord precis på 100 de tecknet som nu?
Tacksam för svar!
/Micke.
string Text = TextBox1.Text;
Text = Text.Replace(Enviroment.NewLine, "");
string NewText = "";
for (int i = 0; i < Text.Length; i++)
{
if( i % 100 == 0)// Insert a line break every 100 characters
NewText += Enviroment.NewLine;
NewText += Text[i];
}
Sv: Hur gör jag med
Dim x As String = "123124 235342534"
Dim y As Integer = 100 - x.LastIndexOf(" ")
Dim Block1 As String = x.Substring(0, y)
Sv:Hur gör jag med
Jag gjorde så här:
if (temptext[0].Length >= 100)
{
int y = 0;
string teststring = temptext[0].Substring(100, 1);
while (teststring != " ")
{
y += 1;
teststring = temptext[0].Substring(100- y,1);
}
temptext[0] = temptext[0].Insert(100- y, "\n");
if (temptext[0].Length >= 200)
{
int z = 0;
teststring = temptext[0].Substring(200, 1);
while (teststring != " ")
{
z += 1;
teststring = temptext[0].Substring(200 - z, 1);
}
temptext[0] = temptext[0].Insert(200 - z, "\n");
if (temptext[0].Length >= 300)
{
int x = 0;
teststring = temptext[0].Substring(300, 1);
while (teststring != " ")
{
x += 1;
teststring = temptext[0].Substring(300 - x, 1);
}
temptext[0] = temptext[0].Insert(300 - x, "\n");
}
}
}
Sv: Hur gör jag med
Hälsningar
PelleSv: Hur gör jag med
private string InsertNewLines(string text, int maxLineLength)
{
string rest = text;
StringBuilder lines = new StringBuilder();
while (rest.Length > maxLineLength)
{
string line = rest.Substring(0, maxLineLength).TrimStart();
var pos = line.LastIndexOf(' ');
if (pos > -1)
lines.Append(line.Substring(0, pos) + Environment.NewLine);
else
{
lines.Append(line + Environment.NewLine);
rest = rest.Substring(maxLineLength);
}
rest = rest.Substring(pos + 1).TrimStart();
}
lines.Append(rest);
return lines.ToString();
}