首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何识别字符串中的非字母

如何识别字符串中的非字母
EN

Stack Overflow用户
提问于 2017-03-01 02:18:52
回答 2查看 57关注 0票数 1

Hi all :)我正在构建一个使用简单的文本旋转(ROT)对文本进行编码的脚本。该脚本运行良好,但我有一个问题,它也旋转所有的符号,如空格,!,?,。我正在使用ascii表来做这件事,我可以做些什么来避免旋转那种类型的字符?

代码语言:javascript
复制
def rot13(input,key): #Function to code a text with caeser chyper.
    if key > 25:
        key = 25
    elif key < 2:
        key = 2
    finaltext = ''
    for letter in input:
        num = ord(letter)
        if (num + key) > 122: #If the final number is greater than 122..
            x = (num + key) - 122
            finaltext += chr(x + ord('a') - 1)
        elif((num + key <= 122)):
            finaltext += chr(num + key)
    print(finaltext)
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-03-01 02:21:48

在“旋转”你的字符之前,添加一个检查,看看它是否是字母数字:

代码语言:javascript
复制
if letter.isalpha():
    # Do your thing
else:
    finaltext += letter
票数 3
EN

Stack Overflow用户

发布于 2017-03-01 02:21:02

试试这个:

代码语言:javascript
复制
>>> import string
>>> letter = 'a'
>>> letter in string.letters
True
>>> letter = '.'
>>> letter in string.letters
False
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42516028

复制
相关文章

相似问题

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