㈠ python中用正則表達式去掉文本中所有的標點符號
我的復理解是 python』s的「 』 」也是制字元 ,和標點符號一樣。你只要把去除的字元都加到正則表達式的括弧中就可以了。,所以:
import re
r='[』!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~]+'
line=re.sub(r,'',"python』s")
print line
㈡ python pandas 過濾某列特殊字元求助
改成r="\W"試試
㈢ python 截取特殊符號後面的字元串
s="01-1"
s1=s.split("-")
s2=int(s1[1])
如果都是只有一個 - 的話可以這樣就好...
㈣ python 怎麼過濾 emoji 表情符號
用
string =「你猜猜em[4500]48570em[2250]」
cc = re.findall('[\u4e00-\u9fa5]', string)
cc="你猜猜"
去提取中文或者英文不也可以達到去除表情符號的作用嗎版?我用的反權向思維
㈤ python中怎麼使用正則表達式將txt文檔中的標點符號過濾並且導出
標點符號有很多種,也許可以用\W來表示,或者[.。, ]之類的列表
㈥ python正則表達式去除所有標點
你應該先定義變數 punctuation,其內容應該是所有的標點符號,比如下面的代碼 (我沒有列出專所有的標點)
importre
punctuation='!屬,;:?"''
defremovePunctuation(text):
text=re.sub(r'[{}]+'.format(punctuation),'',text)
returntext.strip().lower()
text="Hello,world!"
printremovePunctuation(text)
㈦ python 去掉標點符號
這個來明顯是錯誤的,你根本自沒理解replace函數是怎麼用的。
Python str.replace(old, new[, max])
方法把字元串str中的 old(舊字元串) 替換成 new(新字元串),如果指定第三個參數max,則替換不超過 max
次。
如果非要用replace()函數來實現要這樣寫:
importstring
m=l
forcinstring.punctuation:
m=m.replace(c,")
更簡便的方法是用translate(),代碼如下:
importstring
m=l.translate(None,string.punctuation)
㈧ python 怎麼過濾 emoji 表情符號
||濾該表情
[java] view plain
public static String filterEmoji(String source) {
if (!containsEmoji(source)) {
return source;// 包含直接返
}
StringBuilder buf = null;
int len = source.length();
for (int i = 0; i < len; i++) {
char codePoint = source.charAt(i);
if (!isEmojiCharacter(codePoint)) {
if (buf == null) {
buf = new StringBuilder(source.length());
}
buf.append(codePoint);
} else {
}
}
if (buf == null) {
return "";
} else {
if (buf.length() == len) {// 意義於盡能少toString重新字元串
buf = null;
return source;
} else {
return buf.toString();
}
}
}
[java] view plain
// 判別否包含Emoji表情
private static boolean containsEmoji(String str) {
int len = str.length();
for (int i = 0; i < len; i++) {
if (isEmojiCharacter(str.charAt(i))) {
return true;
}
}
return false;
}
private static boolean isEmojiCharacter(char codePoint) {
return !((codePoint == 0x0) ||
(codePoint == 0x9) ||
(codePoint == 0xA) ||
(codePoint == 0xD) ||
((codePoint >= 0x20) && (codePoint <= 0xD7FF)) ||
((codePoint >= 0xE000) && (codePoint <= 0xFFFD)) ||
((codePoint >= 0x10000) && (codePoint <= 0x10FFFF)));
}
㈨ python 如何去除字元串中的符號
去掉兩端字元串:
strip(),
rstrip(),lstrip()
123456789101112131415
#!/usr/bin/python3
s
=
'
-----abc123++++
'
#
刪除兩邊空字元print(s.strip())
#
刪除左邊空字元print(s.rstrip())
#
刪除右邊空字元print(s.lstrip())
#
刪除兩邊
-
+
和空字元print(s.strip().strip('-+'))
刪除單個固定位置字元:
切片
+
拼接
123456
#!/usr/bin/python3
s
=
'abc:123'#
字元串拼接方式去除冒號new_s
=
s[:3]
+
s[4:]print(new_s)
刪除任意位置字元同時刪除多種不同字元:replace(),
re.sub()
1234567891011
#!/usr/bin/python3
#
去除字元串中相同的字元s
=
'\tabc\t123\tisk'print(s.replace('\t',
''))
import
re#
去除\r\n\t字元s
=
'\r\nabc\t123\nxyz'print(re.sub('[\r\n\t]',
'',
s))
同時刪除多種不同字元:translate()
py3中為str.maketrans()做映射
1234567
#!/usr/bin/python3
s
=
'abc123xyz'#
a
_>
x,
b_>
y,
c_>
z,字元映射加密print(str.maketrans('abcxyz',
'xyzabc'))#
translate把其轉換成字元串print(s.translate(str.maketrans('abcxyz',
'xyzabc')))
去掉unicode字元中音調
#!/usr/bin/python3
import
sysimport
unicodedatas
=
"Zhào
Qián
Sūn
Lǐ
Zhōu
Wú
Zhèng
Wáng"remap
=
{
#
ord返回ascii值
ord('\t'):
'',
ord('\f'):
'',
ord('\r'):
None
}#
去除\t,
\f,
\ra
=
s.translate(remap)'''通過使用dict.fromkeys()
方法構造一個字典,每個Unicode
和音符作為鍵,對於的值全部為None然後使用unicodedata.normalize()
將原始輸入標准化為分解形式字元sys.maxunicode
:
給出最大Unicode代碼點的值的整數,即1114111(十六進制的0x10FFFF)。unicodedata.combining:將分配給字元chr的規范組合類作為整數返回。
如果未定義組合類,則返回0。'''cmb_chrs
=
dict.fromkeys(c
for
c
in
range(sys.maxunicode)
if
unicodedata.combining(chr(c)))
#此部分建議拆分開來理解b
=
unicodedata.normalize('NFD',
a)'''調用translate
函數刪除所有重音符'''print(b.translate(cmb_chrs))
㈩ python3.3,這里的strip為什麼不能去掉+-/*這些符號呢
返回值才是被移除掉指定字元的字元串。原來的字元串沒有改變。這個專函數不是原地屬修改。
strip(s, chars=None)
strip(s [,chars]) -> string
Return a of the string s with leading and trailing
whitespace removed.
If chars is given and not None, remove characters in chars instead.
If chars is unicode, S will be converted to unicode before stripping.