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

แยกข้อความด้วย 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)

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
innerHTML คำสั่ง javascript ที่จะทำให้สามารถแสดงข้อความแทนที่ข้อความในแท็ก HTML
โดย jamepiyawat ศ 15 พ.ย. 2019 3:47 pm บอร์ด Jquery & Ajax Knowledge
1
4
ศ 15 พ.ย. 2019 5:02 pm โดย mindphp
หลักการตั้งชื่อไฟล์เพื่อให้สื่อกับทีมง่าย
โดย numtan5839 ศ 15 พ.ย. 2019 3:20 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
6
ศ 15 พ.ย. 2019 3:20 pm โดย numtan5839
การใช้ .text() .html() และ .val() เพื่อเปลี่ยนข้อความ เมื่อกดปุ่ม
โดย bankjittapol ศ 15 พ.ย. 2019 2:17 pm บอร์ด Jquery & Ajax Knowledge
0
6
ศ 15 พ.ย. 2019 2:17 pm โดย bankjittapol
วงจรสี (Colour Wheel)
โดย numtan5839 ศ 15 พ.ย. 2019 2:13 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
2
16
ศ 15 พ.ย. 2019 3:33 pm โดย numtan5839
จะเรียกใช้ api ของกรมอุตุ ได้อย่างไรครับ
โดย jamepiyawat พ 06 พ.ย. 2019 3:02 pm บอร์ด Programming - PHP
2
35
ศ 15 พ.ย. 2019 1:44 pm โดย aloha11x
การใส่ Intro Outro และการตัดต่อ VDO
โดย numtan5839 ศ 15 พ.ย. 2019 1:41 pm บอร์ด M097 - ตรีเนตร บูรณโพธิ์ทอง
0
8
ศ 15 พ.ย. 2019 1:41 pm โดย numtan5839
ต้องการให้ ฐานข้อมูลบันทึกที่อยู่ของ รูปภาพ
โดย bankjittapol พ 06 พ.ย. 2019 3:51 pm บอร์ด Programming - PHP
3
42
ศ 15 พ.ย. 2019 5:19 pm โดย Losa
ต้องการให้ค่า transform เก็บไว้ในตัวแปร เพื่อเก็บในฐานข้อมูล
โดย bankjittapol จ 11 พ.ย. 2019 11:17 am บอร์ด Programming - PHP
3
32
ศ 15 พ.ย. 2019 12:43 pm โดย mindphp
จะทำอย่างไรให้ php เป็นเวอร์ชั่น 5 ครับ
โดย jamepiyawat ส 09 พ.ย. 2019 5:13 pm บอร์ด Programming - PHP
1
22
ศ 15 พ.ย. 2019 12:41 pm โดย mindphp
อยากทราบการหาพิกัด GPS จากรูปภาพ เพื่อนำข้อมูลมาใช้ในการแสดงพิกัดบนแผนที่ โดยใช้ภาษา PHP
โดย chaiyasitpraphut ศ 15 พ.ย. 2019 11:57 am บอร์ด Programming - PHP
1
8
ศ 15 พ.ย. 2019 12:40 pm โดย mindphp
ช่วยแนะนำวิธีการเอาค่าใน array มาใช้หน่อยครับ
โดย bankjittapol ศ 15 พ.ย. 2019 10:45 am บอร์ด Programming - PHP
2
20
ศ 15 พ.ย. 2019 11:54 am โดย bankjittapol
แปลงหน่วย bytes kb mb gb
โดย chaiyasitpraphut ศ 15 พ.ย. 2019 10:39 am บอร์ด MindPHP News / Feedback
0
5
ศ 15 พ.ย. 2019 10:39 am โดย chaiyasitpraphut
เช็คภาษีมูลค่าเพิ่ม
โดย chaiyasitpraphut ศ 15 พ.ย. 2019 10:09 am บอร์ด MindPHP News / Feedback
0
8
ศ 15 พ.ย. 2019 10:09 am โดย chaiyasitpraphut
ตรวจสอบไอพี แอดเดรส
โดย chaiyasitpraphut ศ 15 พ.ย. 2019 9:54 am บอร์ด MindPHP News / Feedback
0
6
ศ 15 พ.ย. 2019 9:54 am โดย chaiyasitpraphut
VDO - โปรแกรมคำนวณอัตราแลกเปลี่ยนสกุลเงิน
โดย numtan5839 พฤ 07 พ.ย. 2019 4:05 pm บอร์ด M097 - ตรีเนตร บูรณโพธิ์ทอง
21
117
ศ 15 พ.ย. 2019 9:51 am โดย numtan5839
VDO - โปรแกรมตรวจสอบหมายเลขพัสดุ
โดย numtan5839 พฤ 07 พ.ย. 2019 3:57 pm บอร์ด M097 - ตรีเนตร บูรณโพธิ์ทอง
15
82
ศ 15 พ.ย. 2019 9:50 am โดย numtan5839
VDO - การใช้โปรแกรมคำนวน ค่าเฉลี่ย, ค่าแปรปรวน, ค่าเบี่ยงเบนมาตราฐาน
โดย numtan5839 พฤ 07 พ.ย. 2019 2:54 pm บอร์ด M097 - ตรีเนตร บูรณโพธิ์ทอง
11
110
ศ 15 พ.ย. 2019 9:50 am โดย numtan5839
VDO - การใช้โปรแกรมคำนวณสแควรูท
โดย numtan5839 พฤ 07 พ.ย. 2019 3:18 pm บอร์ด M097 - ตรีเนตร บูรณโพธิ์ทอง
9
72
ศ 15 พ.ย. 2019 9:47 am โดย numtan5839
งานประจำวันที่ 15 พฤศจิกายน 2562
โดย numtan5839 ศ 15 พ.ย. 2019 9:38 am บอร์ด M097 - ตรีเนตร บูรณโพธิ์ทอง
1
13
ศ 15 พ.ย. 2019 1:06 pm โดย mindphp
งานประจำวันที่ 15 พฤศจิกายน 2562
โดย chaiyasitpraphut ศ 15 พ.ย. 2019 9:03 am บอร์ด MT35 - นายชัยยะสิทธิ์ พระพุทธ
0
8
ศ 15 พ.ย. 2019 9:03 am โดย chaiyasitpraphut