Tjena, Jag förstår inte exakt vad det är du försöker göra, men med minStrang.Substring(10,30) får du de 30 tecknen efter det 10:e tecknet (förutsatt att strängen är tillräckligt lång, annars kastas ett exception). Det jag ska försöka göra är att skriva en text ovanpå en bild, sedan så ska det bli en ny rad när det är 30 tecken. Nu har jag gjort så att jag gör en ny rad efter varje ord. Det vore bra om man kan kolla så att det blir en ny rad efter ett avslutat ord så att det inte blir en ny rad mitt i ett ord eller nått sånt:) Ok, det är för VB 6 men du kan lätt konvertera det till vilket språk du vill med lite kunskap: [Begränsa raders längd med Reguljära Uttryck] Hmm, jag har försökt att kovertera det nu, men det går inte så bra. Problemet är att du måste ha ett @ före "})(?:\s|$)" för att inte \s skall uppfattas som en "escape sequence" vilket du inte vill i detta fall. Den lilla fixen ger följande rad: Ser också ut som att du försöker lägga ihop strängar med &-tecken (som i VB) istället för med +-tecken (som i C#).Splitta sträng
Jag har en text som jag har lagt in i en string. Nu ska jag försöka splitta den texten när den är 30 tecken lång så att jag skriver ut varje rad för sig. Jag försöker göra det med en foreach-sats, men jag vet inte riktigt hur man ska göra själva splittningen. Någon som vet hur man kan göra? Sv: Splitta sträng
Sv:Splitta sträng
string[] rader = text.Split(new char[] { ' ' });
int i = 10;
foreach (string rad in rader)
{
graphicImage.DrawString(rad, new Font("Arial", 12), SystemBrushes.WindowText, new Point(10, i));
i += 15;
}
Sv: Splitta sträng
Sv:Splitta sträng
protected string splitta(string strText, int LineMaxChars)
{
strText = Regex.Replace(strText, @"(.{1," & cStr(LineMaxChars) & "})(?:\s|$)", "$1" + vbCrLf);
strText = Regex.Replace(strText, @"([\w\W]*)(?:\r?\n)$", "$1");
return strText;
}
Får felet att (?:\s|$)
\s i det där är Unrecognized escape sequence
Sv: Splitta sträng
strText = Regex.Replace(strText, @"(.{1," & cStr(LineMaxChars) & @"})(?:\s|$)", "$1" + vbCrLf);Sv: Splitta sträng
Exempel: @"(.{1," <b>&</b> cStr(LineMaxChars) <b>&</b> "})(?:\s|$)"
Uppdatering: Har ett inlägg sedan tidigare om att lägga ihop strängar, kan vara intressant om du ska iterera många gånger: http://www.tednyberg.com/Default.aspx?id=54