ดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งาน
 

แยกข้อความด้วย Python 

โค้ดที่ผมจะนำมาเสนอ คือ การแยกข้อความทีละตัวอักษรด้วยภาษา Python โดยโปรแกรม PyCharm โดยข้อความที่ลองรับก็จะมี 3 อย่างได้แก่ ภาษาอังกฤษพิมพ์เล็ก-ใหญ่ และตัวเลข  คำสั่งการทำงานจะมีส่วนของการสร้างหน้าจอ หัวข้อเรื่องที่แสดง ข้อความที่รองรับ Text, Label, Button เป็นต้น ขั้นตอนในการทำงานนั้นก็ไม่ยากลองสามารถลองเขียนและเพิ่มตัวอักษรที่เป็นอย่างอื่นกันได้ตามตัวอย่างโค้ดด้านล่างเลยครับ

 

ติดตั้ง tkinter บนระบบปฏิบัติการ Windows

pip install tkinter

 

Input

from tkinter import *
gui = Tk()
gui.title("Font Converter")
gui.resizable(0,0)

def replace():
    text = entry.get("1.0",END)
    replacements = {
        #ตัวอักษรตัวพิมพ์ใหญ่
        "A": "A",
        "B": "B",
        "C": "C",
        "D": "D",
        "E": "E",
        "F": "F",
        "G": "G",
        "H": "H",
        "I": "I",
        "J": "J",
        "K": "K",
        "L": "L",
        "M": "M",
        "N": "N",
        "O": "O",
        "P": "P",
        "Q": "Q",
        "R": "R",
        "S": "S",
        "T": "T",
        "U": "U",
        "V": "V",
        "W": "W",
        "X": "X",
        "Y": "Y",
        "Z": "Z",
        #อักษรตัวพิมพ์เล็ก
        "a": "a",
        "b": "b",
        "c": "c",
        "d": "d",
        "e": "e",
        "f": "f",
        "g": "g",
        "h": "h",
        "i": "i",
        "j": "j",
        "k": "k",
        "l": "l",
        "m": "m",
        "n": "n",
        "o": "o",
        "p": "p",
        "q": "q",
        "r": "r",
        "s": "s",
        "t": "t",
        "u": "u",
        "v": "v",
        "w": "w",
        "x": "x",
        "y": "y",
        "z": "z",
        #ตัวเลข
        "1": "1",
        "2": "2",
        "3": "3",
        "4": "4",
        "5": "5",
        "6": "6",
        "7": "7",
        "8": "8",
        "9": "9",
        "0": "0",
    }
    text = "".join([replacements.get(c, c) for c in text])
    output.delete('1.0', END)
    output.insert(END, str(text))

#ตัวแปรข้อความ
enter = StringVar()
#การสร้างวิดเจ็ต
l1 = Label(gui, text="Enter text:")
entry = Text(gui, width=50, height=3, wrap=WORD)
button = Button(gui, text="Convert", width=20)
l2 = Label(gui, text="Converted text:")
output = Text(gui, width=50, height=3, wrap=WORD)
#การวางตำแหน่งวิดเจ็ต
l1.grid(row=1, column=1, padx=5, sticky=W)
entry.grid(row=2, column=1, columnspan=2, padx=5, pady=(0,10))
button.grid(row=3, column=1, columnspan=2, pady=5)
l2.grid(row=4, column=1, padx=5, sticky=W)
output.grid(row=5, column=1, columnspan=2, padx=5, pady=(0,10))
#เปิดใช้งานปุ่มโดยเรียกใช้ฟังก์ชัน replace
button.configure(command=replace)
gui.mainloop()

Output

แยกข้อความออกทีละตัว
ช่องด้านบนคือข้อมูลส่วนล่างแยกข้อความที่ละตัวอักษร

 

ถ้าเราต้องการที่จะแยกข้อความก็ให้ใส่ข้อความในช่อง Enter text จากนั้นกด Convert เพื่อทำการแปลงข้อความออกเป็นที่ละตัวอักษร เพื่อให้ง่ายกับการอ่าน ในส่วนของโค้ดนั้นจะใช้ได้กับข้อความที่เป็นภาษาอังกฤษตัวเล็ก-ใหญ่ แล้วก็ตัวเลขถ้าต้องการเพิ่มภาษาอื่นก็ให้ดูตัวอย่างจากตัวแปลงที่สร้างให้ใส่ตัวอักษร

 

ในส่วนการทำงานของคำสั่งจะมีการเรียกใช้ tkinter จากนั้นทำการสร้างหน้าจอขึ้นมาในส่วนของฟังก์ชันการทำงานนั้นผมกำหนดตัวอักษรพิมพ์ใหญ่-เล็ก ภาษาอังกฤษ และตัวเลข ถ้าเราพิมพ์ภาษาไทยลงไปนั้นข้อความจะไม่แยกออกให้ต้องทำการสร้างตัวแปรในฟังก์ชัน replace เพื่อให้โปรแกรมรู้จักกับตัวแปรแล้วสามารถแยกข้อความออกมาได้ ในส่วนของหน้าต่างที่แสดงจะแบ่งเป็น 2 ส่วน ส่วนแรกที่อยู่ด้านบนคือให้เรากรอกข้อความลงไป จากนั้นกดปุ่ม Covert ก็จะแปลงข้อความออกเป็นที่ละตัวเพื่อนให้อ่านออกง่าย

 

ช่องทางการศึกษาเพิ่มเติมข่าวที่น่าสนใจเกี่ยวกับ : แยกข้อความด้วย Python 

-VDO Tutorail - Python (53)

-บทเรียนเกี่ยวกับ Python (65)

-บทเรียนเกี่ยวกับ Python GUI (9)

-เทคนิคการเขียน Python (63)

-ถาม-ตอบ ปัญหา Python (623)

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
Temp File คืออะไร
โดย napharat079 จ 22 เม.ย. 2019 5:35 pm บอร์ด Microsoft Office Knowledge & line & Etc
0
10
จ 22 เม.ย. 2019 5:35 pm โดย napharat079
2 เว็บไซต์ไอเดียสำหรับออกแบบ favicon
โดย napharat079 จ 22 เม.ย. 2019 3:06 pm บอร์ด Graphic design
0
6
จ 22 เม.ย. 2019 3:06 pm โดย napharat079
สมุดบัญชีเเยกประเภท
โดย สริญญา สมสา จ 22 เม.ย. 2019 11:54 am บอร์ด Accounting software & ERP โปรแกรมบัญชี ระบบอีอาร์พี
0
3
จ 22 เม.ย. 2019 11:54 am โดย สริญญา สมสา
อยากให้ข่าวที่เพิ่มเข้าไปอันล่าสุดแสดงข่าวออกมาให้อยู่ข่าวแรกค่ะแก้ยังไงค่ะ
โดย Ga Pook จ 22 เม.ย. 2019 11:32 am บอร์ด Programming - PHP
0
9
จ 22 เม.ย. 2019 11:32 am โดย Ga Pook
Gitlab เจอปัญหา gitlab Forbidden แล้วเข้าไม่ได้
โดย mindphp จ 22 เม.ย. 2019 11:32 am บอร์ด Linux - Web Server
0
14
จ 22 เม.ย. 2019 11:32 am โดย mindphp
B - UAT [2019-04][012]
โดย Parichat จ 22 เม.ย. 2019 11:18 am บอร์ด Diageo - Web Ordering - Tester
0
3
จ 22 เม.ย. 2019 11:18 am โดย Parichat
งานประจำวันที่ 22 เมษายน 2562
โดย poumtip จ 22 เม.ย. 2019 10:12 am บอร์ด M080 - สุทธาทิพย์ อู่นาค
0
2
จ 22 เม.ย. 2019 10:12 am โดย poumtip
งานประจำวันที่ 22 เมษายน 2562
โดย napharat079 จ 22 เม.ย. 2019 10:05 am บอร์ด M079 - นภารัตน์ ฐิติกรโกวิท
0
7
จ 22 เม.ย. 2019 10:05 am โดย napharat079
ปัญหา DNS dig NS แล้ว ไม่เจอ NS สำหรับ โดเมนที่เรากำลังทดสอบ
โดย mindphp อ 21 เม.ย. 2019 3:06 am บอร์ด Linux - Web Server
1
22
อ 21 เม.ย. 2019 3:12 am โดย mindphp
วิธีใส่ลิงค์แบบเทพๆใน Google Slide
โดย napharat079 ส 20 เม.ย. 2019 3:41 pm บอร์ด Microsoft Office Knowledge & line & Etc
0
37
ส 20 เม.ย. 2019 3:41 pm โดย napharat079
วิธีการ Mark รูปภาพให้มีรูปร่างเก๋ๆ บน Google Slide
โดย napharat079 ส 20 เม.ย. 2019 2:04 pm บอร์ด Microsoft Office Knowledge & line & Etc
0
37
ส 20 เม.ย. 2019 2:04 pm โดย napharat079
อยากทราบวิธีการแก้ไข้ javascript ให้ทำการแสดงปุ่ม แสดงความคิดเห็นย่อยย้ายตำแหน่งมาด้านล่างหลักจากการกดครั้งแรก
โดย Ittichai_chupol ส 20 เม.ย. 2019 1:33 pm บอร์ด Programming - PHP
2
45
ส 20 เม.ย. 2019 3:29 pm โดย Ittichai_chupol
Tip! ค้นหารูปภาพจาก Google บน Google Slide
โดย napharat079 ส 20 เม.ย. 2019 1:20 pm บอร์ด Microsoft Office Knowledge & line & Etc
0
38
ส 20 เม.ย. 2019 1:20 pm โดย napharat079
การออกจาก phpmyadmin
โดย Anonymous ส 20 เม.ย. 2019 10:42 am บอร์ด Programming - PHP
0
25
ส 20 เม.ย. 2019 10:42 am โดย บุคคลทั่วไป
อยากทราบวิธีการกดปุ่มแชร์แล้วให้ แคป ภาพในส่วนที่ต้องการแชร์ ใน เว็บบอร์ด phpbb
โดย Ittichai_chupol ส 20 เม.ย. 2019 10:11 am บอร์ด Programming - PHP
0
21
ส 20 เม.ย. 2019 10:11 am โดย Ittichai_chupol
งานประจำวันที่ 20 เมษายน 2562
โดย poumtip ส 20 เม.ย. 2019 10:00 am บอร์ด M080 - สุทธาทิพย์ อู่นาค
2
22
ส 20 เม.ย. 2019 8:29 pm โดย poumtip
งานประจำวันที่ 20 เมษายน 2562
โดย napharat079 ส 20 เม.ย. 2019 9:56 am บอร์ด M079 - นภารัตน์ ฐิติกรโกวิท
2
12
ส 20 เม.ย. 2019 6:59 pm โดย napharat079
Q - ในเรื่องการคืนของถ้าคืนแบบไม่ตรงอินวอยได้ไหมค่ะ [2019-04][011]
โดย Parichat ศ 19 เม.ย. 2019 7:32 pm บอร์ด Diageo - Web Ordering - Developer
0
2
ศ 19 เม.ย. 2019 7:32 pm โดย Parichat
B - Urgent!!! ข้อมูลในเว็ปหาย [2019-04][010]
โดย Parichat ศ 19 เม.ย. 2019 6:39 pm บอร์ด Diageo - Web Ordering - Tester
2
7
ศ 19 เม.ย. 2019 7:36 pm โดย Parichat
การบันทึกบัญชีค่าใช้จ่าย
โดย สริญญา สมสา ศ 19 เม.ย. 2019 6:05 pm บอร์ด Accounting software & ERP โปรแกรมบัญชี ระบบอีอาร์พี
0
37
ศ 19 เม.ย. 2019 6:05 pm โดย สริญญา สมสา