4551986 发表于 2023-7-12 19:34:12

AutoCAD2013的多行文字去除格式C#代码(根据论坛其他老师的代码改编的)

public static string GetMTextContents(string str)//有问题及时反馈啊
      {
            str = Regex.Replace(str, @"\\\\", ((char)1).ToString());//替换双斜杠
            str = Regex.Replace(str, @"\\{", ((char)2).ToString());//替换\{
            str = Regex.Replace(str, @"\\}", ((char)3).ToString());//替换\}

            str = Regex.Replace(str, @"\\pxi(.[^;]*);", "", RegexOptions.IgnoreCase);// 删除段落缩进格式
            str = Regex.Replace(str, @"\\pt(.[^;]*);", "", RegexOptions.IgnoreCase);//删除制表符格式
            str = Regex.Replace(str, @"\\S(.[^;]*)(\^|#|\\)(.[^;]*);", "", RegexOptions.IgnoreCase);//删除堆迭格式
            str = Regex.Replace(str, @"(\\F.*?;)|(\\C.*?;)|(\\H.*?;)|(\\T.*?;)|(\\Q.*?;)|(\\W.*?;)|(\\A.*?;)", "", RegexOptions.IgnoreCase);//删除字体、颜色、字高、字距、倾斜、字宽、对齐格式
            str = Regex.Replace(str, @"\\L|\\O|\\K","", RegexOptions.IgnoreCase);//删除上、中、下划线。
            //str = Regex.Replace(str, @"\\~", "", RegexOptions.IgnoreCase);//删除不间断空格格式
            str = Regex.Replace(str, @"\\P", "", RegexOptions.IgnoreCase);//删除换行符格式
            str = Regex.Replace(str, "{|}", "");
            str = Regex.Replace(str, ((char)1).ToString(),"\\");//将前面替换了的双斜杠变成但斜杠

            str = Regex.Replace(str, ((char)2).ToString(), @"{");
            str = Regex.Replace(str, ((char)3).ToString(), @"}");

            return str;

      }

d1742647821 发表于 2023-7-13 17:49:31

4551986 发表于 2023-7-13 16:43
.COM连接AutoCAD没有这个属性吧

有没有可能,这是.net区?com你去activex区啊

mokson 发表于 2023-7-13 09:12:03

本帖最后由 mokson 于 2023-7-13 09:17 编辑

与它本身的 ”删除字符格式“,有什么区别吗?



nsh935 发表于 2023-7-13 10:43:16

mokson 发表于 2023-7-13 09:12
与它本身的 ”删除字符格式“,有什么区别吗?

大哥您这个页面从哪里调出来?

mokson 发表于 2023-7-13 13:59:29

本帖最后由 mokson 于 2023-7-13 14:00 编辑

在多行文字的编辑状态下,选中多行文字,然后右击就出来了 。

4551986 发表于 2023-7-13 15:12:12

mokson 发表于 2023-7-13 13:59
在多行文字的编辑状态下,选中多行文字,然后右击就出来了 。
你这不行,字体有替换时你在属性侧边栏看看内容里面是不是有一堆字体的控制符,比如用外部程序读取到其他软件里面用就必须要替换掉才行。

d1742647821 发表于 2023-7-13 16:11:55

本帖最后由 d1742647821 于 2023-7-13 16:14 编辑

做了太多无用的工作,
mtext.Context=mText.Text;
一句就能清除格式

4551986 发表于 2023-7-13 16:43:43

d1742647821 发表于 2023-7-13 16:11
做了太多无用的工作,
mtext.Context=mText.Text;
一句就能清除格式

.COM连接AutoCAD没有这个属性吧

4551986 发表于 2023-7-13 17:51:38

d1742647821 发表于 2023-7-13 17:49
有没有可能,这是.net区?com你去activex区啊

哦,:lol
页: [1]
查看完整版本: AutoCAD2013的多行文字去除格式C#代码(根据论坛其他老师的代码改编的)