带有未知符号的python子串

时间:2016-05-19 18:44:53

标签: python regex string

我有一个我需要在python中编辑的字符串。让我们说字符串是:thisandthat+this。字符串可以是任意长度。

现在假装你不知道特殊字符在字符串中的位置/位置。例如,这些字符:+-)(*&^%$#@!

如何获取除特殊字符以外的所有内容?因此,对于上面的示例,我的结果将是thisandthatthis

4 个答案:

答案 0 :(得分:3)

如果特殊区域中没有空格,您可以使用

# get within group combinations as matrix
grp0 <-t(combn(Y0, 5))
grp1 <-t(combn(Y1, 2))

# get all possible combos of these rows
grpCombos <- expand.grid(1:nrow(grp1), 1:nrow(grp2))

# get all combinations as a matrix
allGroups <- cbind(grp0[grpCombos[,1],], grp1[grpCombos[,2],])

您也可以使用''.join(re.split("[^a-z]", input_str))

re.sub

答案 1 :(得分:0)

列表理解有一种蛮力的方式:

orig = "thisandthat+this"
special = "+-)(&^%$#@!*"

cleaned = ''.join([x for x in orig if x not in special])

答案 2 :(得分:0)

您可以使用Python Regular expression operations。 Python中的re包旨在完全按照您的意愿执行。 Python文档是非常彻底和直接的。你可以学到很多关于这个强大的工具!

这将保留大写字符串值。 如果您只使用[^ a-z]大写字母将被排除。

import re

inputSTring = 'Some old String you put in here!'

word = ''.join(re.split("[^a-zA-Z]", inputString))
#or
word = ''.join(re.finall('[a-zA-Z+]', inputString))

这与This Question非常相似,除了您不想包含空格

答案 3 :(得分:0)

不使用initial_table <- sqldf("select * from initial", dbname = tempfile(), file.format = list(header = T, row.names = F))\ Error in scan(file = file, what = what, sep = sep, quote = quote, dec = dec, : line 8 did not have 137 elements

re

使用special = '+-)(&^%$#@!*' s = 'thisandthat+this' print(''.join(c for c in s if c not in special))

re