我有这个fontname属性返回fontname + SPACE + fontsize例如:Sans 12
但是对于创建字体对象我需要 字体名称 和字体大小:我希望字体名称中没有数字。
所以我正在寻找一种方法将这个字符串分成两部分。
答案 0 :(得分:3)
这应该可以满足您的需求:
var yourString = "SAN 1 12";
var lastSpace = yourString.LastIndexOf( ' ' );
var fontName = yourString.Substring( 0, lastSpace ); //gives SAN 1
var fontSize = yourString.Substring( lastSpace ).Trim(); //gives 12
答案 1 :(得分:1)
假设该属性返回类似“Some Font2 With 5 Variants 24”的内容,您可以执行以下操作:
//fontProperty="Some Font2 With 5 Variants 24"
string fontNamePart=fontProperty.Substring(0,fontProperty.LastIndexOf(' '));
int fontSize=int.Parse(fontProperty.Substring(fontProperty.LastIndexOf(' ')+1));
要使尺寸部分“防止空白字符”,以便可以安全地转换为int,您可以在转换之前另外修剪它。像这样:
int fontSize=int.Parse(fontProperty.Substring(fontProperty.LastIndexOf(' ')+1).Trim());// I know, looks a bit ugly
这适用于任何类型的字体,只要最后一部分始终是字体的大小。