字符串的分割和连接

按照指定字符对给定字符串进行分割,或者用指定字符对给定的多个字符串进行连接是经常遇到的字符串处理任务,本节介绍进行字符串分割和连接的方法。[大谦MATLAB,dqmatlab点com]

字符串的分割

【MATLAB】

MATLAB中使用split函数用指定的分隔符分割字符串,分割后得到的子字符串放在一个数组中。

默认时split函数使用空格作为分隔符。

code.matlab
>> a="ab cd ef gh";
>> b=split(a)
b=
  4×1 string 数组
    "ab"
    "cd"
    "ef"
    "gh"

可以指定分隔符。下面将“-”作为分隔符进行分割。

code.matlab
>> a="ab-cd-ef-gh";
>> b=split(a,'-')
b=
  4×1 string 数组
    "ab"
    "cd"
    "ef"
    "gh"

可以同时指定多种分隔符进行分割。

code.matlab
>> a="ab cd/ef;gh";
>> b=split(a,[" ","/",";"])
b=
  4×1 string 数组
    "ab"
    "cd"
    "ef"
    "gh"

【Python】

使用字符串的split方法,用指定字符作为间隔符对字符串进行分割。例如,下面用空格作为间隔对给定字符串进行分割,结果以列表的形式给出。

code.python
>>> 'ab cd ef gh'.split()
['ab', 'cd', 'ef', 'gh']

可以指定分隔符进行分割,例如:

code.python
>>> 'ab-cd-ef-gh'.split('-')
['ab', 'cd', 'ef', 'gh']

字符串的连接

在MATLAB和Python中可以使用连接运算符和各种函数连接字符串。

【MATLAB】

下面定义两个字符串,然后连接它们构成一个新的字符串。

code.matlab
>> a="Hello";
>> b=" MATLAB";

用“+”连接两个字符串。

code.matlab
>> a+b
ans=
    "Hello MATLAB"

用plus函数连接两个字符串。

code.matlab
>> plus(a,b)
ans=
    "Hello MATLAB"

在a字符串的第2个字符后面插入b字符串。

code.matlab
>> insertAfter(a,2,b)
ans=
    "He MATLABllo"

在a字符串的第5个字符前面插入b字符串。

code.matlab
>> insertBefore(a,5,b)
ans=
    "Hell MATLABo"

用strcat函数连接两个字符串。

code.matlab
>> strcat(a,b)
ans=
    "Hello MATLAB"

用append函数连接两个字符串。

code.matlab
>> append(a,b)
ans=
    "Hello MATLAB"

【Python】

Python中字符串的连接有使用加号、*、空格和join方法等几种方法。下面用加号连接两个字符串:

code.python
>>> a='hello '
>>> b='python'
>>> a+b
'hello python'

使用*可以重复输出指定字符串,例如

code.python
>>> a='python '
>>> a*3
'python python python '

使用print函数,其参数用空格间隔几个字符串,空格能起到连接的作用。例如:

code.python
>>> print('hello ' 'python')
hello python

也可以使用join函数或方法连接字符串。

【MATLAB】

下面用数组给定两个字符串,使用join函数用分隔符“-”进行连接。

code.matlab
>> str=["Hello" "MATLAB"];
>> s=join(str,'-')
s=
    "Hello-MATLAB"

下面用数组给定两组字符串,使用join函数用对应的两组分隔符进行连接。

code.matlab
>> str=["x","y","5";"x","2y","2"];
>> dlm=["+","=";"-","="];
>> s=join(str,dlm)
s=
  2×1 string 数组
    "x+y=5"
    "x-2y=2"

【Python】

使用字符串的join方法,用指定字符或字符串间隔给定的多个字符串。例如下面用逗号间隔给定字符串的各个字符:

code.python
>>> a=','
>>> b='abc'
>>> a.join(b)
'a,b,c'

或者变量b引用的字符串用列表给出,用变量a引用的字符串间隔列表各元素。如:

code.python
>>> a=','
>>> b=['hello','abc','python']
>>> a.join(b)
'hello,abc,python'