| import re |
| import gradio as gr |
|
|
|
|
| def analyze_text(text): |
| |
| chars = len(text) |
| |
| chars_no_space = len(text.replace(" ", "").replace("\n", "")) |
| |
| words = len(re.findall(r'\b\w+\b', text)) + len(re.findall(r'[\u4e00-\u9fff]', text)) |
| |
| punctuations = len(re.findall(r'[.,!?;:,。?!;:]', text)) |
| |
| sentences = len(re.findall(r'[.!?。?!]', text)) |
|
|
| return { |
| "字符数(含空格)": chars, |
| "字符数(不含空格)": chars_no_space, |
| "单词/汉字数": words, |
| "标点数": punctuations, |
| "句子数": sentences |
| } |
|
|
|
|
| demo = gr.Interface( |
| fn=analyze_text, |
| inputs=gr.Textbox(lines=10, placeholder="请输入一段文本...", label="输入文本"), |
| outputs=gr.JSON(label="分析结果"), |
| title="高级文本分析工具", |
| description="输入一段中文或英文文本,系统会统计字数、单词数、标点符号数和句子数。" |
| ) |
|
|
| if __name__ == "__main__": |
| demo.launch() |
|
|