Wolfram Computation Meets Knowledge

Wolfram 语言:
快速编程入门

显示附加备注:
全部选择 
开始使用

字符串 观看视频

Wolfram 语言中的字符串用双引号指定("...").

当输出为字符串时,没有双引号,除非使用 InputForm

In[1]:=1
"this is a string"
Out[1]=1

In[2]:=2
InputForm[%]
Out[2]=2

<> 连接字符串:

In[3]:=3
"this" <> "is" <> "aaaa" <> "bbb"
Out[3]=3

Java 程序员备注:

<> 在 Wolfram 语言中特别用于连接字符串,目的是为避免使用 + 而产生模糊.

Python 程序员备注:

<> 在 Wolfram 语言中特别用于连接字符串,目的是为避免使用 + 而产生模糊.


字符串可以包含任何 Unicode 字符,输入名字可以是 \[Alpha],快捷键 ESC a ESC, 明确的 Unicode,例如 \:03b1,或从面板中输入 .

Python 程序员备注:

Python 3 和 Wolfram 语言字符串都默认使用 Unicode. 在 Python 2 中,除非特别定义为 Unicode,字符串默认使用 ASCII.


字符串模式使用 ~~ 组合带有模式结构的字符串:

In[1]:=1
StringReplace["this is a string", Shortest[LetterCharacter ... ~~ "is"] -> "xxx"]
Out[1]=1

模式 p... 中指明 p 的零次或更多次重复.
RegularExpression 允许紧凑的正则表达式符号.

Java 程序员备注:

字符串模式通过 Wolfram 语言的普通模式语法提供了强大的字符串匹配. 您还可是使用带有与 Java 的 regex 支持类似注释的 Wolfram 语言标准表达式进行字符串匹配.

Python 程序员备注:

Wolfram 语言字符串模式用普通模式语法提供了强大的字符串匹配, 对于可读性和直观性进行了优化. Python 中最接近的是用 regex 的字符串匹配,其与 Wolfram 语言的 RegularExpression 函数作用相近.


字符串模版 使用 `` 指明“插入符”,并用 <* ... *> 指明要计算的表达式:

In[1]:=1
TemplateApply["number `` date: <* Now *>", {56}]
Out[1]=1

Java 程序员备注:

TemplateApply 与 Java 的 System.out.printf 方法执行类似功能,但是 Wolfram 语言使用 `` 而不是 %无需类型指示语并可通过 <* ... *>允许行内计算.

Python 程序员备注:

TemplateApply 在 Wolfram 语言中与 Python 的 %format 函数的作用类似,除了 Python 中不支持用 <* ... *> 进行行内计算.

快速参考:字符串操作


以下哪项将两个字符串组合成另一个字符串?


以下哪项表达式将 "lead" 替换为 "gold"?


以下哪项使用模板创建一个字符串,其中 x 的值设定为当前时间,并由变量 label附加标签?

© 2019 Wolfram. All rights reserved.