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

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

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
Plugin Content MChangeLog ใน Joomla เป็นตัวช่วยให้ เพิ่มเนื้อหาที่มีการเปลี่ยนแปลงแบบ เพิ่มเนื้อหา อัพเดด fix ปัญหา
โดย prmindphp พฤ 12 ธ.ค. 2019 6:46 pm บอร์ด MindPHP News & Feedback
0
7
พฤ 12 ธ.ค. 2019 6:46 pm โดย prmindphp
วิธีการเขียน SQL สำหรับเปลี่ยน Collation เพื่อปรับเปลี่ยนการรองรับภาษา ใน ตารางฐานข้อมูล
โดย Ittichai_chupol พฤ 12 ธ.ค. 2019 4:17 pm บอร์ด SQL Knowledge
0
4
พฤ 12 ธ.ค. 2019 4:17 pm โดย Ittichai_chupol
สอบถามการใช้ Python
โดย Anonymous พฤ 12 ธ.ค. 2019 11:51 am บอร์ด Programming - PHP
0
7
พฤ 12 ธ.ค. 2019 11:51 am โดย บุคคลทั่วไป
Funny today ไปไหน???
โดย chatee supasand พฤ 12 ธ.ค. 2019 11:44 am บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
14
พฤ 12 ธ.ค. 2019 11:44 am โดย chatee supasand
VDO - แนะนำการใช้งาน Plugin Content M Change Log
โดย numtan5839 พฤ 12 ธ.ค. 2019 10:47 am บอร์ด M097 - ตรีเนตร บูรณโพธิ์ทอง
3
13
พฤ 12 ธ.ค. 2019 2:47 pm โดย numtan5839
งานประจำวันที่ 12 ธันวาคม 2562
โดย numtan5839 พฤ 12 ธ.ค. 2019 10:04 am บอร์ด M097 - ตรีเนตร บูรณโพธิ์ทอง
1
9
พฤ 12 ธ.ค. 2019 7:37 pm โดย numtan5839
วิธีการนำข้อมูลคำอธิบายภาพออก ในโพสต์ของ php
โดย Ittichai_chupol พ 11 ธ.ค. 2019 7:03 pm บอร์ด PHP Knowledge
1
25
พฤ 12 ธ.ค. 2019 10:59 am โดย Sirayu
โปรแกรมคำนวณเพซ
โดย prmindphp พ 11 ธ.ค. 2019 6:50 pm บอร์ด MindPHP News & Feedback
0
25
พ 11 ธ.ค. 2019 6:50 pm โดย prmindphp
ArrayList Java กับการหาค่าที่มากที่สุดแล้วลบออก
โดย Grammanano พ 11 ธ.ค. 2019 6:38 pm บอร์ด Share Knowledge
0
21
พ 11 ธ.ค. 2019 6:38 pm โดย Grammanano
การเขียน switch case ในภาษา C
โดย Grammanano พ 11 ธ.ค. 2019 5:52 pm บอร์ด Share Knowledge
0
15
พ 11 ธ.ค. 2019 5:52 pm โดย Grammanano
VDO - Introducing to Pace Calculator
โดย numtan5839 พ 11 ธ.ค. 2019 5:38 pm บอร์ด M097 - ตรีเนตร บูรณโพธิ์ทอง
2
16
พฤ 12 ธ.ค. 2019 11:15 am โดย mindphp
การลบข้อมูลจาก ArrayList ภาษา Java
โดย Grammanano พ 11 ธ.ค. 2019 5:32 pm บอร์ด Share Knowledge
0
18
พ 11 ธ.ค. 2019 5:32 pm โดย Grammanano
วิธีแปลงไฟล์ PDF เป็นไฟล์ Word ทางเว็ปไซต์
โดย noppadonsk พ 11 ธ.ค. 2019 4:24 pm บอร์ด Share Knowledge
0
25
พ 11 ธ.ค. 2019 4:24 pm โดย noppadonsk
วิธีใช้ text shortcut ใน Google Docs สร้างคำที่พิมพ์บ่อยให้พิมพ์ได้เร็วขึ้น
โดย noppadonsk พ 11 ธ.ค. 2019 4:02 pm บอร์ด Share Knowledge
0
8
พ 11 ธ.ค. 2019 4:02 pm โดย noppadonsk
รู้รึยัง Google Search ค้นหาเนื้อหาในวีดีโอได้แล้ว
โดย noppadonsk พ 11 ธ.ค. 2019 3:47 pm บอร์ด Share Knowledge
0
12
พ 11 ธ.ค. 2019 3:47 pm โดย noppadonsk
10 อันดับรถยนต์วินเทจ ที่ใครเห็นก็ต้องมอง
โดย Meygrand พ 11 ธ.ค. 2019 3:04 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
18
พ 11 ธ.ค. 2019 3:04 pm โดย Meygrand
อยากทราบวิธีการ override ไฟล์ bookmark มาใช้งานใน Extension ของ phpbb
โดย Ittichai_chupol พ 11 ธ.ค. 2019 11:00 am บอร์ด Programming - PHP
0
13
พ 11 ธ.ค. 2019 11:00 am โดย Ittichai_chupol
งานประจำวันที่ 11 ธันวาคม 2562
โดย noppadonsk พ 11 ธ.ค. 2019 10:05 am บอร์ด MT36 - นายนพดล สุชญากูล
10
43
พ 11 ธ.ค. 2019 7:00 pm โดย noppadonsk
งานประจำวันที่ 11 ธันวาคม 2562
โดย Grammanano พ 11 ธ.ค. 2019 10:02 am บอร์ด M098 - อนงค์นาท ไฝขาว
1
8
พ 11 ธ.ค. 2019 6:59 pm โดย Grammanano
งานประจำวันที่ 11 ธันวาคม 2562
โดย numtan5839 พ 11 ธ.ค. 2019 9:52 am บอร์ด M097 - ตรีเนตร บูรณโพธิ์ทอง
2
16
พ 11 ธ.ค. 2019 7:23 pm โดย numtan5839