如何让 Streamlit 中的输入文本只接受字符串而不接受数字?

How to let the input text in Streamlit only accept string not number?

如何让 st.input_text 只接受字符串?如果用户输入数字,则会弹出一条错误消息。有人有解决方案吗?

这将强制输入为字符串:

user_input = st.text_input("label goes here", default_value_goes_here)
if user_input.isalpha():
        st.write(text, 'string', )
    else:
        st.write('Please type in a string ')

你可以使用 ***.isalpha() #returns true 如果 之前的字符串。是字母的。

a = input("Enter input:")
if not a.isalpha():
    print("Oops!  That was no valid string.  Try again...")

isalpha( ) 是一个不错的选择。以下是一个只允许字符串作为输入的应用程序。

def main():
    st.title("Only allow text example")
    
    text = str(st.text_input('Type something'))

    #only allow strings
    if text.isalpha():
        st.write(text, '...works as its a string', )
    else:
        st.write('Please type in a string ')


if __name__ == "__main__":
    main()