首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >删除非add,编辑,添加非add

删除非add,编辑,添加非add
EN

Stack Overflow用户
提问于 2021-10-21 15:41:34
回答 2查看 41关注 0票数 0

我想编辑一个字符串后,删除非阿尔法字符,然后移动他们在适当的地方再次。例:

代码语言:javascript
复制
import re
string = input()
alphastring = re.sub('[^0-9a-zA-Z]+', '', string)
alphastring = alphastring[::2]

我希望它如下:

awzeklvl."

  • alphastring = heompuemykojuarjeawzeklvl

  • alphastring = hopeyourewell

  • ??????=希望你没事。

我试着用不同的解题来解决这个问题,但是没有一个给我正确的输出。我求助于使用不太熟悉的RegEx。任何帮助都将受到极大欢迎。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-10-21 16:07:02

我想不出用regexp做这件事的任何合理方法。只需使用从输入复制到输出的循环,跳过所有其他字母数字字符。

代码语言:javascript
复制
copy_flag = True
string = input()
alphastring = ''
for c in string:
    if c.isalnum():
        if copy_flag:
            alphastring += c
        copy_flag = not copy_flag
    else:
        alphastring += c
票数 1
EN

Stack Overflow用户

发布于 2021-10-21 16:21:37

以下是一种方法:

代码语言:javascript
复制
string = "heompuem ykojua'rje awzeklvl."
result, i = "", 0

for c, alph in ((c, c.isalnum()) for c in string)
    if not (alph and i%2):  # skip odd alpha-numericals
        result += c
    i += alph  # only increment counter for alpha-numericals
 
result
# "hope you're well."
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69664932

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档