CAD开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

AutoLISP 开发指南

vl-string-position(AutoLISP)

2023-1-5 15:53| 发布者: admin| 查看: 844| 评论: 0|来自: AutoCAD

摘要: 在字符串中查找具有指定字符代码的字符

在字符串中查找具有指定字符代码的字符

支持的平台:视窗和 Mac OS

签名

(vl-string-position char-code str [start-pos [from-end-p]])
字符代码

类型:整数

要搜索的字符的数值表示形式。

str

类型:字符串

要搜索的文本值。

启动-POS

类型:整数

从字符串中开始搜索的位置(第一个字符为 0);如果省略,则为 0。

从结束 p

类型:T 或零

为此参数指定的 ifis 时,搜索从字符串的末尾开始,然后继续向后到posT

返回值

类型:整数或零

一个整数,表示从字符串开头找到字符代码的位移;如果未找到该字符。nil

发布信息

    释放:

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

历史

    AutoCAD 2021

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

例子

(vl-string-position (ascii "z") "azbdc")
1

(vl-string-position 122 "azbzc")
1

(vl-string-position (ascii "x") "azbzc")
nil

以下示例中使用的搜索字符串包含两个“z”字符。从左到右阅读,第一个字符为位移 0,有一个位移 1 和另一个位移 3:zz

(vl-string-position (ascii "z") "azbzlmnqc")
1

从左到右搜索(默认),位置 1 中的“z”是第一个遇到的。但是当从右到左搜索时,如以下示例所示,位置 3 中的“z”是遇到的第一个:vl-string-position

(vl-string-position (ascii "z") "azbzlmnqc" nil T)
3

路过

雷人

握手

鲜花

鸡蛋

最新评论

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

GMT+8, 2024-5-19 13:19

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

返回顶部