从整数中分离字符串(从字体大小中分离字体名称)

时间:2014-12-18 06:26:12

标签: c# string fonts

我有这个fontname属性返回fontname + SPACE + fontsize例如:Sans 12但是对于创建字体对象我需要 字体名称 字体大小:我希望字体名称中没有数字。

所以我正在寻找一种方法将这个字符串分成两部分。

2 个答案:

答案 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

这适用于任何类型的字体,只要最后一部分始终是字体的大小。