㈠ python,如何去掉字元串 s = 'values ( e , b )'中,括弧裡面的空格
你好:
第一:如果都是這樣的形式,可以使用slide就是切片;
第二:利用split函數以()分開字元串,然後去掉空格,再組合。
附上,總結的正則表達式:
##總結
##^匹配字元串的開始。
##$匹配字元串的結尾。
##匹配一個單詞的邊界。
##d匹配任意數字。
##D匹配任意非數字字元。
##x?匹配一個可選的x字元(換言之,它匹配1次或者0次x字元)。
##x*匹配0次或者多次x字元。
##x+匹配1次或者多次x字元。
##x{n,m}匹配x字元,至少n次,至多m次。
##(a|b|c)要麼匹配a,要麼匹配b,要麼匹配c。
##(x)一般情況下表示一個記憶組(rememberedgroup)。你可以利用re.search函數返回對
##象的groups()函數獲取它的值。
##正則表達式中的點號通常意味著「匹配任意單字元」
㈡ python:數組里有數字和單詞,如何將數字去掉
方法一、利用正則表達式
用法:
##總結##^匹配字元串的開始。##$匹配字元串的結尾。##匹配一個單詞的邊界。##d匹配任意數字。##D匹配任意非數字字元。##x?匹配一個可選的x字元(換言之,它匹配1次或者0次x字元)。##x*匹配0次或者多次x字元。##x+匹配1次或者多次x字元。##x{n,m}匹配x字元,至少n次,至多m次。##(a|b|c)要麼匹配a,要麼匹配b,要麼匹配c。##(x)一般情況下表示一個記憶組(rememberedgroup)。你可以利用re.search函數返回對象的groups()函數獲取它的值。##正則表達式中的點號通常意味著「匹配任意單字元」
[plain]view plain
importre
string=u'127米'
printre.findall(r"d+.?d*",string)
方法二、利用filter(str.isdigit, iterable)
[plain]view plain
string=u'127米'
print(filter(str.isdigit,string))
bug:TypeError: descriptor 'isdigit' requires a 'str' object but received a 'unicode'
原因:string不是str類型
修改為:
[plain]view plain
string=u'127米'
string2=string.encode('gbk')
print(type(str))
print(filter(str.isdigit,string2))
結果:
<type 'str'>127
注意:要提取的字元串不能命名為str,否則會出現TypeError: isdigit() takes no arguments (1 given)
因為str和filter里的str重名了。
㈢ python如何在輸入非數字返回錯誤
可以在接收到數據後判斷是否是數字類型。如果不是則給出錯誤信息或重新輸入。
提示用戶提供數值輸入時,常見的問題是,用戶提供的是文本而不是數字。
編寫一個程序,提示用戶輸入兩個數字,再將它們相加並列印結果。在用戶輸入的任何一個值不是數字時都捕獲TypeError異常,並列印一條友好的錯誤消息。對你編寫的程序進行測試:先輸入兩個數字,再輸入一些文本而不是數字。
㈣ python 如何將16進制數據字元串去掉0x部分,然後轉換成16進制數據寫入到文件中
#-*-coding:utf-8-*-
__author__='lpe234'
__date__='2015-04-01'
hex_list=['0xAA','0xED','0xEF','0xDE']
f=file('x.txt','a+')
forxinhex_list:
ifx.startswith('0x'):
x=x[2:]
printx
f.write(x+' ')
f.close()
輸出文件:
AA
ED
EF
DE
㈤ python字元串如何去掉英文字母以外的字元
可以利用正則表達式來去除
既然說到了字元串的操作,那麼就目前而言是沒有別的方法會比正則表達式更加方便的:
正則表達式中代表非字母的寫法如下:
[^a-zA-Z]
#code:
㈥ python怎麼提取excle表格數據
通過實例來說明,在Excle表格中有數據和文字結合的內容
把Excle表格中的數據,復制——粘貼到word中。
按下ctrl+F鍵,打開「查找和替換」對話框。點擊「替換」標簽,在其高級功能下選擇「使用通配符」
然後在查找的內容的位置輸入:[0-9],替換位置:是空值,不輸入任何數據。點擊」全部替換「按鈕。
點擊"全部替換",數據中所有的數字全部刪除掉了。
那麼,如何提取Excle數據中的非數字部分?也是通過「使用通配符」來實現。
把原來的數據復制到word文檔中去,按下ctrl+F鍵,打開「查找和替換」對話框。點擊「替換」標簽,在其高級功能下選擇「使用通配符」,和上述的步驟一樣。
在查找的內容的位置輸入:[!0-9],替換位置:是空值,不輸入任何數據。點擊」全部替換「按鈕。
這樣,數據中所有的非數字數字全部刪除掉了。
這里,介紹一下數據中包含 字元和數字的情況,這里不需要使用通配符功能,也可以通過一種更便捷的方法來實現。(只剩下數字部分的實現方法)
例如,有寫好的數據,如圖所示:
同樣的操作步驟,把原來的數據復制到word文檔中去。
按下ctrl+F鍵,打開「查找和替換」對話框。點擊「替換」標簽。這里不需要使用通配符功能。
在查找的內容的位置輸入:^$,替換位置:是空值,不輸入任何數據。點擊」全部替換「按鈕。
只剩下數字部分的實現方法。
㈦ python使用正則表達式以下為什麼會多一個非數字
題主你好,
首先看一下官方文檔中關於re庫里findall()方法的說明:
最後一句說的是"空匹配也被包含在結果中",這句的意思主要是針對正則中"?"或"{0,1}"或"*","{0,}"等這種會有"0個匹配"的情況.
舉例,對於字元串"11"來說:
re.compile('d*')->['11','']
re.compile('d{0,}')->['11','']
re.compile('d?')->['1','1','']
re.compile('d{0,1}')->['1','1','']
可以看到上面的結果中末尾都有空字元串,而像'+','{1,}'這種不包含"0個匹配"的情況,匹配後得到的結果就不會出現空字元串,
還拿字元串"11"舉例:
re.compile('d+')->['11']
re.compile('d{1,}')->['11']
希望上面的描述可以幫到題主,歡迎追問
㈧ 請問Python怎麼講輸出結果一個整數最前面的0去掉
#coding:utf-8
s=list(input("錄入整數"))
s="".join(s[::-1]).lstrip("0")
print(s)
先轉換為求組倒序,然後組成字元串去掉左邊的0
㈨ Python如何判斷錄入非數字
用isdigit() 函數判斷。可以這樣寫:if not num1.isdigit() #即:如果num1不是數字。