Maxscript基本数据类型(一):String

这篇博客介绍了Maxscript中的基本数据类型String,包括字面常量、构造函数、属性、操作符和方法。详细讲解了如何创建和操作字符串,如连接字符串、获取单个字符、字符串转换、查找和替换子串等,同时提供了多个示例代码。
摘要由CSDN通过智能技术生成

Maxscript基本数据类型(一):String


String 类定义字符串的特征。字符串可以是任意长度。

1.字面常量

"<characters>"  

String类型为一个或多个包含在一对双引号“ ”里的字符,
可以包含除双引号之外的任何字符。例如“3ds max”,“2022”,“model.pos”,“2+2”等。

通过使用“\”(反斜杠)转义字符序列,可以在字符串文本中包含双引号以及一些有用的控制字符,输入方式如下:

转义序列意义
\"双引号字符
\n换行符
\r回车符
\t制表符
\*星号字符
\?问号字符符
\\单斜杠"\"字符
\%百分比字符
\x{d}十六进制字符

举例
输入:

print "foo should be quoted like this: \"foo\" and a new line: \n"
//该行代码包括两个\" (双引号字符)和一个\n(换行字符)

输出:

"foo should be quoted like this: "foo" and a new line:
"

2.构造函数

<value> as string
//将任何值转换为其字符串

3.属性

<string>.count
//返回字符串的字符个数,只读整数

4.操作符

<string> + <string>

(1)返回连接两个字符串的新字符串

<string> == <string>
<string> != <string>
<string> > <string>
<string> < <string>
<string> >= <string>
<string> <= <string>
//逻辑表达式

注:比较语句区分大小写。

(2)返回序号的单个字符

<string>[<index_number>]

注:索引从1开始,即[<index_number>]最小值为1,只读整数。

(3)给序号字符赋新值

<string>[<index_number>]= <single_character_string>

注:同样,索引从1开始。

(4)字符串类型转换

<string>as<class>
//class可以为 name、number等

例:

"111.2"as float
//返回 111.2
"word" as name
//返回 #word

5.方法

(1)给指定字符串创建副本

<string>copy <string>

新字符串是指定字符串内容的副本,并独立于指定字符串。
例:

newstring = copy oldstring

(2)将字符串编译为maxscript表达式并返回计算结果

execute <string>

例:

execute"2 + 2"
//返回  4

(3)在字符串中查找字符串

<string>findString<string> <search_string>

找到则返回第一个找到的字符序号,否则返回undefined。
例:

findString "Thanks you!" "you" 
//返回  8

(4)将字符串分割为一个字符串数组

<string>filterString <string> <token_string> [splitEmptyTokens:<boolean>]

注:根据中给出的字符将输入拆分为子字符串,并返回每个子字符串作为数组的成员。它只是一个“拆分符”列表(当扫描字符串时,任何标记的出现都被视为子字符串的开始)。
例:

filterString "MAX Script, is-dead-funky" ", -"
//返回  #("MAX","Script","is","dead","funky")

(5)替换字符串

<string>replace <string> <from_integer> <length_integer> <new_string>

注:返回一个新字符串,从索引序号<from_integer> 开始的子字符串开始,长度为<length_integer> 的子字符串将替换为任意长度的新字符串。<from_integer> 与<length_integer> 之和必须小于原字符串总长度。
例:

s="1234567890"
s1=replace s 5 3 "inserted string"
//返回  "1234inserted string890"

(6)返回字符串的子字符串

<string>substring <string> <from_integer> <length_integer>

注:返回一个新字符串,从索引序号<from_integer> 开始的子字符串开始,长度为<length_integer> 的子字符串。<from_integer> 与<length_integer> 之和若大于字符串总长度,或是<length_integer> 为负数,则子字符串为指定位置到原来字符串的结尾。

s ="Balerofon"
ss = substring s 5 3
//返回  "rof"
ss = substring s 5 -1
//返回  "rofon"
ss = substring s 5 100
//返回  "rofon"

(7)判断是否包括某一子字符串

<bool>matchPattern <string> pattern:<pattern_string> [ignoreCase:<boolean>]

注:返回包含该字符串pattern:<pattern_string>,返回True,否则返回False。默认不区分大小写,若指定参数ignoreCase:False,则判断时区分大小写。
例:

s="text1"
matchPattern s pattern:"text"
//返回  returns true
matchPattern s pattern:"T"
//返回  returns true
matchPattern s pattern:"T"ignoreCase:false
//返回  false
matchPattern s pattern:"s"
//返回  false

(8)更改字符串大小写

toUpper <string>
// 返回一个新的字符串,将字符串转为大写
toLower <string>
//返回一个新的字符串,将字符串转为小写

例:

toUpper "so long and thanks for all the scripts"
//返回  "SO LONG AND THANKS FOR ALL THE SCRIPTS"
toLower "Life, The Universe And Everything"
//返回  "life, the universe and everything"

本文参考链接:https://help.autodesk.com/view/3DSMAX/2020/ENU/?guid=GUID-16F4BC9F-256F-4272-A346-3B4FF64427FD

  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一颗大头梨

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值