CAD开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

AutoCAD 文档中心

vl-string-subst(AutoLISP)

2023-1-7 15:12| 发布者: admin| 查看: 365| 评论: 0|来自: AutoCAD

摘要: 在字符串中将一个字符串替换为另一个字符串

在字符串中将一个字符串替换为另一个字符串

支持的平台:视窗和 Mac OS

签名

(vl-string-subst new-str pattern str [start-pos])
新斯特

类型:字符串

要替换模式的文本值。

模式

类型:字符串

包含要替换的模式的文本值。

str

类型:字符串

要搜索模式的文本值。

启动-POS

类型:整数

标识搜索起始位置的数值;如果省略,则为 0。

返回值

类型:字符串

进行任何替换后的str值。

言论

请注意,搜索区分大小写,并且仅替换它找到的字符串的第一个匹配项。vl-string-subst

发布信息

    释放:

  • Windows 上的 AutoCAD R12 及更高版本
  • Mac OS 上的 AutoCAD 2011 及更高版本

历史

    AutoCAD 2021

  • new-str,和参数以前接受 ASCII 文本字符串或字符,但现在接受 Unicode 文本字符串或字符。patternstr
  • 返回值已修改为支持 Unicode 字符,并且可能与早期版本不同。在早期版本中,Unicode 字符的长度计算不正确。例如,以前返回“abc中bec”,但现在返回“abc中€bec”。(vl-string-subst "中" "€" "abc中€bec" 5)
  • LISPSYS 系统变量控制使用哪个 AutoLISP 引擎以及函数的行为。
    • 0 - ASCII 字符支持(旧行为)
    • 1 或 2 - Unicode 字符支持
    注意:更改 LISPSYS 系统变量的值后,必须重新启动 AutoCAD 才能使更改生效。

例子

将字符串“Ben”替换为“Obi-wan”:

(vl-string-subst "Obi-wan" "Ben" "Ben Kenobi")
"Obi-wan Kenobi"

将“Ben”改为“Obi-wan”:

(vl-string-subst "Obi-wan" "Ben" "ben Kenobi")
"ben Kenobi"

没有任何东西被替换,因为没有找到“本”的匹配项;搜索的字符串中的“Ben”以小写“b”开头。vl-string-subst

将“Ben”改为“Obi-wan”:

(vl-string-subst "Obi-wan" "Ben" "Ben Kenobi Ben")
"Obi-wan Kenobi Ben"

请注意,在搜索的字符串中出现了两次“Ben”,但仅替换第一个出现。vl-string-subst

将“Ben”替换为“Obi-wan”,但从字符串中的第四个字符开始搜索:

(vl-string-subst "Obi-wan" "Ben" "Ben \"Ben\" Kenobi" 3)
"Ben \"Obi-wan\" Kenobi"

在搜索的字符串中出现了两次“Ben”,但由于被指示从第四个字符开始搜索,因此它找到并替换了第二个匹配项,而不是第一个字符。vl-string-subst


路过

雷人

握手

鲜花

鸡蛋

最新评论

QQ|Archiver|CAD开发者社区 ( 苏ICP备2022047690号-1   苏公网安备32011402011833)

GMT+8, 2024-12-15 14:52

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

返回顶部