一、去空格及特殊符号
1
|
s.strip().lstrip().rstrip(
','
)
|
二、复制字符串
1
2
3
4
5
|
#strcpy(sStr1,sStr2)
sStr1
=
'strcpy'
sStr2
=
sStr1
sStr1
=
'strcpy2'
print
(sStr2)
|
三、连接字符串
1
2
3
4
5
|
#strcat(sStr1,sStr2)
sStr1
=
'strcat'
sStr2
=
'append'
sStr1
+
=
sStr2
print
(sStr1)
|
四、查找字符
1
2
3
4
5
6
|
#strchr(sStr1,sStr2)
# < 0 为未找到
sStr1
=
'strchr'
sStr2
=
's'
nPos
=
sStr1.index(sStr2)
print
(nPos)
|
五、比较字符串
1
2
3
4
|
#strcmp(sStr1,sStr2)
sStr1
=
'strchr'
sStr2
=
'strch'
print
(
cmp
(sStr1,sStr2))
|
六、扫描字符串是否包含指定的字符
1
2
3
4
5
|
#strspn(sStr1,sStr2)
sStr1
=
'12345678'
sStr2
=
'456'
#sStr1 and chars both in sStr1 and sStr2
print
(
len
(sStr1
and
sStr2))
|
七、字符串长度
1
2
3
|
#strlen(sStr1)
sStr1
=
'strlen'
print
(
len
(sStr1))
|
八、将字符串中的大小写转换
1
2
3
4
5
|
#strlwr(sStr1)
sStr1
=
'JCstrlwr'
sStr1
=
sStr1.upper()
#sStr1 = sStr1.lower()
print
(sStr1)
|
九、追加指定长度的字符串
1
2
3
4
5
6
|
#strncat(sStr1,sStr2,n)
sStr1
=
'12345'
sStr2
=
'abcdef'
n
=
3
sStr1
+
=
sStr2[
0
:n]
print
(sStr1)
|
十、字符串指定长度比较
1
2
3
4
|
#strncmp(sStr1,sStr2,n)
sStr1
=
'12345'
sStr2
=
'123bc'
n
=
3
|
print( cmp(sStr1[0:n],sStr2[0:n]))
十一、复制指定长度的字符
1
2
3
4
5
6
|
#strncpy(sStr1,sStr2,n)
sStr1
=
''
sStr2
=
'12345'
n
=
3
sStr1
=
sStr2[
0
:n]
print
(sStr1)
|
十二、将字符串前n个字符替换为指定的字符
1
2
3
4
5
6
|
#strnset(sStr1,ch,n)
sStr1
=
'12345'
ch
=
'r'
n
=
3
sStr1
=
n
*
ch
+
sStr1[
3
:]
print
(sStr1)
|
十三、扫描字符串
1
2
3
4
5
6
7
8
9
|
#strpbrk(sStr1,sStr2)
sStr1
=
'cekjgdklab'
sStr2
=
'gka'
nPos
=
-
1
for
c
in
sStr1:
if
c
in
sStr2:
nPos
=
sStr1.index(c)
break
print
( nPos)
|
十四、翻转字符串
1
2
3
4
|
#strrev(sStr1)
sStr1
=
'abcdefg'
sStr1
=
sStr1[::
-
1
]
print
(sStr1)
|
十五、查找字符串
1
2
3
4
|
#strstr(sStr1,sStr2)
sStr1
=
'abcdefg'
sStr2
=
'cde'
print
(sStr1.find(sStr2))
|
十六、分割字符串
1
2
3
4
5
6
7
8
|
#strtok(sStr1,sStr2)
sStr1
=
'ab,cde,fgh,ijk'
sStr2
=
','
sStr1
=
sStr1[sStr1.find(sStr2)
+
1
:]
print
(sStr1)
#或者
s
=
'ab,cde,fgh,ijk'
print
(s.split(
','
))
|
十七、连接字符串
1
2
3
4
5
6
7
8
9
10
|
delimiter
=
','
mylist
=
[
'Brazil'
,
'Russia'
,
'India'
,
'China'
]
print
(delimiter.join(mylist))
PHP 中 addslashes 的实现
def
addslashes(s):
d
=
{
'"'
:
'\\"'
, "
'":"\\'
", "
\
0
":"
\\\
0
", "
\\
":"
\\\\"}
return
''.join(d.get(c, c)
for
c
in
s)
s
=
"John 'Johny' Doe (a.k.a. \"Super Joe\")\\\0"
print
(s)
print
( addslashes(s))
|
十八、只显示字母与数字
1
2
3
4
5
6
7
8
9
|
def
OnlyCharNum(s,oth
=
''):
s2
=
s.lower();
fomart
=
'abcdefghijklmnopqrstuvwxyz0123456789'
for
c
in
s2:
if
not
c
in
fomart:
s
=
s.replace(c,'');
return
s;
print
(OnlyStr(
"a000 aa-b"
))
|
十九、截取字符串
1
2
3
4
5
6
7
8
9
10
11
|
str
=
’
0123456789
′
print
str
[
0
:
3
]
#截取第一位到第三位的字符
print
str
[:]
#截取字符串的全部字符
print
str
[
6
:]
#截取第七个字符到结尾
print
str
[:
-
3
]
#截取从头开始到倒数第三个字符之前
print
str
[
2
]
#截取第三个字符
print
str
[
-
1
]
#截取倒数第一个字符
print
str
[::
-
1
]
#创造一个与原字符串顺序相反的字符串
print
str
[
-
3
:
-
1
]
#截取倒数第三位与倒数第一位之前的字符
print
str
[
-
3
:]
#截取倒数第三位到结尾
print
str
[:
-
5
:
-
3
]
#逆序截取,具体啥意思没搞明白?
|
二十、直接贴过来
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
|
str
=
"Hello My friend"
字符串是一个整体。如果你想直接修改字符串的某一部分,是不可能的。但我们能够读出字符串的某一部分。
子字符串的提取
str
[:
6
]
字符串包含判断操作符:
in
,
not
in
"He"
in
str
"she"
not
in
str
string模块,还提供了很多方法,如
S.find(substring, [start [,end]])
#可指范围查找子串,返回索引值,否则返回-1
S.rfind(substring,[start [,end]])
#反向查找
S.index(substring,[start [,end]])
#同find,只是找不到产生ValueError异常
S.rindex(substring,[start [,end]])
#同上反向查找
S.count(substring,[start [,end]])
#返回找到子串的个数
S.lowercase()
S.capitalize()
#首字母大写
S.lower()
#转小写
S.upper()
#转大写
S.swapcase()
#大小写互换
S.split(
str
,
' '
)
#将string转list,以空格切分
S.join(
list
,
' '
)
#将list转string,以空格连接
处理字符串的内置函数
len
(
str
)
#串长度
cmp
(
"my friend"
,
str
)
#字符串比较。第一个大,返回1
max
(
'abcxyz'
)
#寻找字符串中最大的字符
min
(
'abcxyz'
)
#寻找字符串中最小的字符
string的转换
float
(
str
)
#变成浮点数,float("1e-1") 结果为0.1
int
(
str
)
#变成整型, int("12") 结果为12
int
(
str
,base)
#变成base进制整型数,int("11",2) 结果为2
long
(
str
)
#变成长整型,
long
(
str
,base)
#变成base进制长整型,
字符串的格式化(注意其转义字符,大多如C语言的,略)
str_format
%
(参数列表)
#参数列表是以tuple的形式定义的,即不可运行中改变
>>>
print
"
"%s's height is %dcm"
%
(
"My brother"
,
180
)
#结果显示为 My brother's height is 180cm
原文:http://my.oschina.net/golang/blog/209208
|