当前位置: 首页 > 知识库问答 >
问题:

将值强制转换为整数,同时筛选包含特殊字符的字符串

尉迟边浩
2023-03-14

我有一长串字符串的数据,我想将它们转换为整数,但仍保留一些包含特殊字符的字符串:x 作为字符串。有人能帮我过滤那些有特殊字符的字符串吗?

字符串列表:

Type  Values
str   1
str   1
str   1
str   1
str   0
str   10.0.0.21
float nan
str   0
str   38082
str   -10
str   -12
str   0xE0020000

预期类型:

Type  Values
Int   1
Int   1
Int   1
Int   1
Int   0
Str   10.0.0.21
Float nan
Int   0
Int   38082
Int   -10
Int   -12
Str   0xE0020000

共有1个答案

楚茂实
2023-03-14

给定字符串列表,您可以遍历该列表并将所有数值转换为int

input_values = ['1', '1', '1', '1', 
                '0', '10.0.0.21', 
                float('nan'), '0', '38083']

def cast_to_int(word):
    if type(word) == str and word.isnumeric():
        return int(word)

    return word

list(map(cast_to_int, input_values))

更新:

如果您的input_values中有负值,则需要使用以下解决方案。

def cast_to_int(word):
    try:
        return int(word)
    except ValueError:
        return word

list(map(cast_to_int, input_values))
 类似资料:
  • 我正在使用Apache POI读取<代码>。docx文件,并在一些操作后写入。<代码>。我使用的docx文件是法语的,但当我在它将一些法语字符转换为特殊字符。示例转换为 下面的代码用于编写文件 默认使用UTF-8。 在调试时,我在写入<代码>之前进行了检查。csv数据保持原样。但它在写作时被转换了吗?我已将默认语言环境设置为语言环境。法语 我错过了什么吗?

  • 问题内容: 我有一个字节数组,其中包含我希望转换为字符串的ASCII字符。例如: myByteArray在循环后应包含字符串“ 12345678”。如何将此字符串转换为String变量? 谢谢! 问题答案: 用 字符串类为此提供了一个构造函数。 旁注:此处的第二个参数是CharSet(字节编码),应谨慎处理。这里更多。

  • 想改进这个问题吗?通过编辑这篇文章添加细节并澄清问题。 我有一个特殊字符的输入字符串,如 如果我打印这个字符串,它将返回:正确的。 我想将此字符串转换为特殊字符的Unicode字符串,例如“1a 2\uxx00\uxx01\uxx02......”这样当我打印这个新字符串时,kt也应该给出 我想将其转换为Unicode的原因是我将把它传递给JAVA代码,该代码将把这些Unicode字符写入PDF文

  • 我有一个字符串返回给我,其中包含转义字符。 这是一个示例字符串 " test\40gmail.com " 如您所见,它包含转义字符。我需要将其转换为其实际值,即 " test@gmail.com " 我该怎么做?

  • 如何将字符串值转换为整数,并将转换后的值乘以整数,这样我就可以得到300.00的结果。见下面的例子- 如果我像这样编码,那么我就会出错-

  • 问题内容: 有人知道如何将特殊字符转换为in 吗? 例: (“&”号)变为。 (双引号)成为时未设置。 (单引号)仅在被设置时才变为。 (小于)变为。 (大于)变为。 问题答案: 您需要一个功能类似于 但是要考虑到您希望对单/双引号进行不同处理的愿望。