GVKun编程网logo

在python2.7中删除字符串中的unicode u2026喜欢的字符(删除某字符python)

9

如果您对在python2.7中删除字符串中的unicodeu2026喜欢的字符感兴趣,那么本文将是一篇不错的选择,我们将为您详在本文中,您将会了解到关于在python2.7中删除字符串中的unicod

如果您对在python2.7中删除字符串中的unicode u2026喜欢的字符感兴趣,那么本文将是一篇不错的选择,我们将为您详在本文中,您将会了解到关于在python2.7中删除字符串中的unicode u2026喜欢的字符的详细内容,我们还将为您解答删除某字符python的相关问题,并且为您提供关于python – 从Kotlin中另一个字符串中出现的字符串中删除字符、python – 更改包含重音符和本地字母的unicode字符串中的字母大小写、python 将列表嵌套字典的unicode字符串转换为str格式的字符串的方法、从 Python 中的字符串中删除特定字符的有价值信息。

本文目录一览:

在python2.7中删除字符串中的unicode  u2026喜欢的字符(删除某字符python)

在python2.7中删除字符串中的unicode u2026喜欢的字符(删除某字符python)

我在python2.7中有一个这样的字符串,

 This is some \u03c0 text that has to be cleaned\u2026! it\u0027s annoying!

我如何将其转换为此

This is some text that has to be cleaned! its annoying!

答案1

小编典典

Python 2.x

>>> s''This is some \\u03c0 text that has to be cleaned\\u2026! it\\u0027s annoying!''>>> print(s.decode(''unicode_escape'').encode(''ascii'',''ignore''))This is some  text that has to be cleaned! it''s annoying!

Python 3.x

>>> s = ''This is some \u03c0 text that has to be cleaned\u2026! it\u0027s annoying!''>>> s.encode(''ascii'', ''ignore'')b"This is some  text that has to be cleaned! it''s annoying!"

python – 从Kotlin中另一个字符串中出现的字符串中删除字符

python – 从Kotlin中另一个字符串中出现的字符串中删除字符

让我先说一下我对Kotlin很新,但我对 Python有点熟悉.

我的目标是通过某种功能从另一个字符串中删除一个字符串中所有出现的字符.

我可以告诉你如何用Python做到这一点:

def removechars (s,chars)
    return s.translate(None,chars)

我可以像这样使用它:

print(removechars("The quick brown fox jumped over the sleazy dog!","qot"))

它会给出这个输出:

The uick brwn fx jumped ver the sleazy dg!

我怎么能在Kotlin做类似的事情?

解决方法

我建议在Kotlin中使用 filterNot()

"Mississippi".filterNot { c -> "is".contains(c)}

这应输出“Mpp”.

python – 更改包含重音符和本地字母的unicode字符串中的字母大小写

python – 更改包含重音符和本地字母的unicode字符串中的字母大小写

Python字符串和unicode对象具有以下用于字符串大小写转换的方法.

>上()
> lower()
>标题()

使用unicode字符串,我可以处理本地字母表中的几乎所有字符:

test_str = u"ças şak ürt örkl"
print test_str.upper()
>> ÇAS ŞAK ÜRT ÖRKL

除了两个字母.由于我住在土耳其,我有典型的Turkish I problem.

在我当地的字母表中,我们有一封与我类似的字母İ,他们的案例转换必须如下

我→小写→ı

我→大写→İ

是的,它破坏了i – >的ASCII转换.因为我和我是两个单独的信件.

test_str = u"ik"
print test_str.upper()
>> IK  # Wrong! must be İK
test_str = u"IK"
print test_str.lower()
>> ik  # Wrong! must be ık

我怎么能克服这个?有没有办法使用python内置函数正确处理大小写转换?

最佳答案
Python目前不支持特定于语言环境的案例折叠,也不支持Unicode SpecialCasing.txt中的其他规则.如果您今天需要它,您可以从PyICU获得它们.

>>> unicode( icu.UnicodeString(u'IK').toLower(icu.Locale('TR')) )
u'ık'

虽然如果你关心的只是土耳其语I,你可能更喜欢特殊情况.

python 将列表嵌套字典的unicode字符串转换为str格式的字符串的方法

python 将列表嵌套字典的unicode字符串转换为str格式的字符串的方法

今天在进行django开发的过程中遇到了一个非常棘手的问题, 因为需求原因, 需要将一份数据存为json格式到数据库中, 如下面这种格式:

list_1 = [{"name":"lowman", "age":"18"},{"name":"lowman1", "age":None}]

开发环境是python2, 在后端接收到数据,打印数据是这样的:

[{u"name":u"lowman", u"age":u"18"},{u"name":u"lowman1", u"age":None}]

里面的所有的字符串元素都是unicode类型的, 如果不使用json.dumps()进行转换直接保存到数据库中(TextField),然后再取出,是这样格式的数据(编码后保存还是unicode类型, 数据库编码格式是utf-8)

u''[{u"name":u"lowman", u"age":u"18"},{u"name":u"lowman1", u"age":None}]''

这时如果使用json.loads()进行转换, 会抛出异常(使用json.loads(),元素不可以是unicode类型), 但是如果使用json.dumps()将数据进行一下转换,再保存到数据库中时,却是这样的数据形式

"[{u''name'':u''lowman'', u''age'':u''18''},{u''name'':u''lowman1'', u''age'':None}]"

这时使用json.loads()进行转换后,再使用django rest framework 的 Response() 向前端进行返回, 前端接收的数据却是这样的, 且无法转化为list数据

"[{u''name'':u''lowman'', u''age'':u''18''},{u''name'':u''lowman1'', u''age'':None}]"

各种求解无果,问题症结就在列表嵌套字典, 在我的环境里进行encode() 企图将数据转换为str格式的字符串时无法作用到里面的一层数据, 字典的元素仍然是unicode类型, 各种磨难寻找后, 终于发现了一个神器, 那就是eval() 函数, 它可以神奇的将最外层的数据的双引号或者单引号去掉, 转换为原始格式的数据, 并且可以将里面所有的unicode元素字符串转换为str格式的字符串

list_str = u''[{u"name":u"lowman", u"age":"18"},{u"name":u"lowman1", u"age":None}]''
list_str = eval(list_str)
print(type(list_str))
print(list_str)

my_str = "123"
my_str = eval(my_str)
print(type(my_str))
print(my_str)

输出结果

<class ''list''>
[{''name'': ''lowman'', ''age'': ''18''}, {''name'': ''lowman1'', ''age'': None}]
<class ''int''>
123

回到原来的需求:

先使用eval() 处理后端接收到的数据, 再使用json.dumps()进行处理, 然后保存到数据库, 数据形式是这样的(话说这样格式的数据其实才是满足我们本次需求的)

[{''name'': ''lowman'', ''age'': ''18''}, {''name'': ''lowman1'', ''age'': None}]

这时, 保存到数据库中的数据才是一个json格式的数据, 当想要向前端返回数据时, 使用json.loads() 或者仍然使用eval()函数进行处理一下从数据库中取出的数据, 再使用Django rest framework 的 Respose() 向前端进行返回.前端发送ajax请求成功后接收到数据格式是这样的(注意这时对应到Python字典数据的键是没有引号的):

[{name: ''lowman'', age: ''18''}, {name: ''lowman1'', age: None}]

至此,问题解决, eval 果然神奇......................................................................

 

经过一位大佬的提醒,这样子使用 eval 函数,是存在安全性问题的(比如数据中存在脚本代码,或者 sql 语句),事实上 eval 是一个非常强大的函数,它具备了很多实用的功能,但是如果对于数据源不具备可信任性,可以使用 ast.literal_eval 进行替代,特别是在进行 web server 开发时,需要接收处理前端传递的参数。。。

 

从 Python 中的字符串中删除特定字符

从 Python 中的字符串中删除特定字符

我正在尝试使用 Python 从字符串中删除特定字符。这是我现在正在使用的代码。不幸的是,它似乎对字符串没有任何作用。

for char in line:    if char in " ?.!/;:":        line.replace(char,'''')

我该如何正确地做到这一点?

答案1

小编典典

Python 中的字符串是 不可变 的(无法更改)。因此, 的效果line.replace(...)只是创建一个新字符串,而不是更改旧字符串。您需要
重新绑定 (分配)它以line使该变量采用新值,并删除这些字符。

此外,相对而言,您执行此操作的方式会有点慢。对于有经验的 Python
操作者来说,这也可能会有点令人困惑,他们会看到一个双重嵌套的结构,并会想一会更复杂的事情正在发生。

从 Python 2.6 和更新的 Python 2.x 版本 *开始,您可以改用str.translate,(
请参阅 下面的 Python 3 答案 ):

line = line.translate(None, ''!@#$'')

或正则表达式替换为re.sub

import reline = re.sub(''[!@#$]'', '''', line)

括号中的字符构成一个 字符类 。该类中的任何字符line都将替换为第二个参数sub:空字符串。

Python 3 答案

在 Python 3 中,字符串是 Unicode。你必须翻译一点不同。kevpie
在对其中一个答案的评论中提到了str.translate这一点,并在.

调用translateUnicode
字符串的方法时,不能传递我们上面使用的第二个参数。您也不能None作为第一个参数传递。相反,您将翻译表(通常是字典)作为唯一参数传递。该表将字符的
序数值
(即调用ord它们的结果)映射到应该替换它们的字符的序数值,或者“对我们而言”
None,以表明它们应该被删除。

因此,要使用 Unicode 字符串进行上述舞蹈,您可以调用类似

translation_table = dict.fromkeys(map(ord, ''!@#$''), None)unicode_line = unicode_line.translate(translation_table)

这里dict.fromkeysandmap用于简洁地生成包含

{ord(''!''): None, ord(''@''): None, ...}

正如另一个答案所说,更简单的是,在适当的位置创建翻译表:

unicode_line = unicode_line.translate({ord(c): None for c in ''!@#$''})

或者,正如Joseph
Lee提出的,使用以下命令创建相同的转换表str.maketrans

unicode_line = unicode_line.translate(str.maketrans('''', '''', ''!@#$''))

  • 为了与早期的 Python 兼容,您可以创建一个“空”转换表来代替None

    import string
    line = line.translate(string.maketrans(‘’, ‘’), ‘!@#$’)

这里string.maketrans用于创建一个
转换表 ,它只是一个包含序数值 0 到 255 的字符的字符串。

我们今天的关于在python2.7中删除字符串中的unicode u2026喜欢的字符删除某字符python的分享就到这里,谢谢您的阅读,如果想了解更多关于python – 从Kotlin中另一个字符串中出现的字符串中删除字符、python – 更改包含重音符和本地字母的unicode字符串中的字母大小写、python 将列表嵌套字典的unicode字符串转换为str格式的字符串的方法、从 Python 中的字符串中删除特定字符的相关信息,可以在本站进行搜索。

本文标签: