1.提取字元串中的數字
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
<code>$ </code><code>echo</code> <code>'dsFUs34tg*fs5a%8ar%$#@'</code> <code>|</code><code>awk</code> <code>-F </code><code>""</code> <code>'</code>
<code>{</code>
<code> </code><code>for</code><code>(i=1;i<=NF;i++) </code>
<code> </code><code>{ </code>
<code> </code><code>if</code> <code>($i ~ /[[:digit:]]/) </code>
<code> </code><code>{</code>
<code> </code><code>str=$i</code>
<code> </code><code>str1=(str1 str)</code>
<code> </code><code>} </code>
<code> </code><code>} </code>
<code> </code><code>print str1</code>
<code>}'</code>
<code>輸出</code>
<code>3458</code>
<code>或</code>
<code> </code><code>if</code> <code>($i ~ /[0-9]/) </code>
2.提取字元串中的小寫字母
<code> </code><code>if</code> <code>($i ~ /[[:lower:]]/) </code>
<code>dsstgfsaar</code>
3.提取字元串中的大寫字母
<code> </code><code>if</code> <code>($i ~ /[[:upper:]]/) </code>
<code>FU</code>
4.提取字元串中的字母(不區分大小寫)
法一:
<code> </code><code>if</code> <code>($i ~ /[a-z]/) </code>
<code>dsFUstgfsaar</code>
<code>法二:</code>
<code> </code><code>if</code> <code>($i ~ /[[:alpha:]]/) </code>
<code>輸出:</code>
5.提取字元串中的非數字字元
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
<code>法一:</code>
<code> </code><code>if</code> <code>($i ~ /[^0-9]/) </code>
<code>dsFUstg*fsa%ar%$</code><code>#@</code>
<code> </code><code>if</code> <code>($i !~ /[0-9]/) </code>
<code>法三:</code>
<code>echo</code> <code>'dsFUs34tg*fs5a%8ar%$#@'</code> <code>|</code><code>awk</code> <code>-F </code><code>""</code> <code>'</code>
<code> </code><code>if</code> <code>($i ~ /[^[:digit:]]/) </code>
6.提取字元串中的除數字字母外的字元
<code> </code><code>if</code> <code>($i ~ /[^0-9a-zA-Z]/) </code>
<code>*%%$</code><code>#@</code>
<code> </code><code>if</code> <code>($i ~ /[^[:alnum:]]/) </code>
<code> </code><code>if</code> <code>($i ~ /[^[:digit:]]/ && $i ~ /[^[:lower:]]/ && $i ~ /[^[:upper:]]/) </code>
<code></code>
本文轉自 xoyabc 51CTO部落格,原文連結:http://blog.51cto.com/xoyabc/1855224,如需轉載請自行聯系原作者