พูดคุยถึงวิธีการลบฟังก์ชันที่จะลบอักขระต้องห้าม เช่น [ ' :',' ? ', ' \ ', ' / ', ' <', '> ', ' | ’, ‘ * ’ ] จากสตริง เช่น
Input: str = “ Hello: Welco*me/ to Tu>torials point|. ” Output: “ Hello Welcome to Tutorials point. ” Explanation: Input String contains forbidden characters which got removed and new string has no forbidden characters. Input: str = “ How/ are y*ou doi,ng? ” Output: “ How are you doing ”
แนวทางในการหาแนวทางแก้ไข
วิธีการง่ายๆ ที่สามารถประยุกต์ใช้กับปัญหานี้ได้คือ
-
ข้ามสตริงจากด้านใดด้านหนึ่ง
-
ตรวจสอบอักขระแต่ละตัวว่าเป็นอักขระต้องห้ามหรือไม่
-
ลบอักขระหากเป็นอักขระต้องห้าม
-
เราสามารถแทรกค่า Null หรือสตริงใหม่เพื่อแทรกอักขระทั้งหมดยกเว้นอักขระต้องห้ามในการลบอักขระ
ตัวอย่าง
รหัส C++ สำหรับแนวทางข้างต้น
#include <stdio.h> #include <bits/stdc++.h> using namespace std; // function to remove forbidden charcters. void removeforbidden(char* str){ int j = 0; int n = strlen(str); // traversing through the string and searching for forbidden characters. for(int i = 0;i<n;i++){ switch(str[i]){ case '/': case '\\': case ':': case '?': case '"': case '<': case '>': case '|': case '*': // inserting null value in place of forbidden characters. str[j] = '\0'; default: str[j++] = str[i]; } } // printing the string. for(int i = 0;i<n;i++) cout << str[i]; return; } int main(){ char str[] = "Hello: Welco*me/ to Tu>torial?s point|."; removeforbidden(str); return 0; }
ผลลัพธ์
Hello, Welcome to Tutorials point.
คำอธิบายของโค้ดด้านบน
-
ตัวพิมพ์สวิตช์จะใช้ขณะเคลื่อนที่ผ่านสตริงที่แต่ละองค์ประกอบของสตริงถูกตรวจสอบด้วยอักขระตัวพิมพ์
-
หากอักขระเท่ากับอักขระตัวพิมพ์ อักขระนั้นจะถูกแทนที่ด้วยอักขระว่าง
บทสรุป
ในบทช่วยสอนนี้ เราได้พูดถึงการสร้างฟังก์ชันสำหรับการลบอักขระต้องห้าม เช่น [ ' :', ' ? ', ' \ ', ' / ', ' <', '> ', ' | ’, ‘ * ’ ] เราได้พูดคุยถึงแนวทางง่ายๆ ในการแก้ปัญหานี้โดยสำรวจผ่านสตริงและจับคู่อักขระกับอักขระต้องห้าม
เรายังพูดถึงโปรแกรม C++ สำหรับปัญหานี้ ซึ่งเราสามารถทำได้ด้วยภาษาโปรแกรม เช่น C, Java, Python เป็นต้น เราหวังว่าคุณจะพบว่าบทช่วยสอนนี้มีประโยชน์