উত্তর:
আপনার একটি স্ট্রিং রিপ্লেক্স ফাংশনটি ব্যবহার করা উচিত, একটি একক রেজেক্স সহ। বিশেষ অক্ষর দ্বারা ধরে নেওয়া, আপনি এমন কোনও কিছু বোঝাতে চাইছেন যা চিঠি নয়, এখানে একটি সমাধান রয়েছে:
const str = "abc's test#s";
console.log(str.replace(/[^a-zA-Z ]/g, ""));
str.replace(/[^a-zA-Z0-9]/g, "")
str.replace(/[^a-zA-Z0-9 ]/g, "");
নোটিশটি 0-9 এবং] এর মধ্যে স্থান দরকার
আপনি মুছে ফেলতে চান এমন অক্ষরগুলি নির্দিষ্ট করে এটি করতে পারেন:
string = string.replace(/[&\/\\#,+()$~%.'":*?<>{}]/g, '');
বিকল্প হিসাবে, সংখ্যা এবং বর্ণ বাদে সমস্ত অক্ষর পরিবর্তন করতে, চেষ্টা করুন:
string = string.replace(/[^a-zA-Z0-9]/g, '');
/[^a-zA-Z0-9]/g
()
এবং whitespaces
স্ট্রিংয়ে.text().replace(/[ ()]/g, '')
প্রথম সমাধানটি কোনও ইউটিএফ -8 বর্ণমালার জন্য কাজ করে না। (এটি Привіт এর মতো পাঠ্য কেটে দেবে)। আমি এমন একটি ফাংশন তৈরি করতে পরিচালিত করেছি যা RegExp ব্যবহার করে না এবং জাভাস্ক্রিপ্ট ইঞ্জিনে ভাল ইউটিএফ -8 সমর্থন ব্যবহার করে। ধারণাটি সহজ যদি একটি চিহ্ন বড় হাতের এবং ছোট হাতের ক্ষেত্রে এটি একটি বিশেষ চরিত্রের সমান হয়। একমাত্র ব্যতিক্রম সাদা স্থানের জন্য তৈরি।
function removeSpecials(str) {
var lower = str.toLowerCase();
var upper = str.toUpperCase();
var res = "";
for(var i=0; i<lower.length; ++i) {
if(lower[i] != upper[i] || lower[i].trim() === '')
res += str[i];
}
return res;
}
আপডেট: দয়া করে নোট করুন, এই সমাধানটি কেবলমাত্র সেই ভাষাগুলির জন্যই কাজ করে যেখানে ছোট এবং বড় অক্ষর রয়েছে। চাইনিজের মতো ভাষায়, এটি কার্যকর হবে না।
আপডেট 2: আমি যখন অস্পষ্ট অনুসন্ধানে কাজ করছিলাম তখন আমি আসল সমাধানে এসেছি। আপনি যদি অনুসন্ধানের কার্যকারিতা বাস্তবায়নের জন্য বিশেষ অক্ষরগুলি সরিয়ে দেওয়ার চেষ্টা করেন তবে আরও ভাল পদ্ধতির উপায় থাকতে পারে। ব্যবহারের লিপ্যন্তর গ্রন্থাগার যা আপনি শুধুমাত্র ল্যাটিন অক্ষর থেকে STRING উত্পাদন করা হবে এবং তারপর সহজ RegExp বিশেষ অক্ষর মুছে ফেলার সব জাদু করতে হবে। (এটি চিনাদের পক্ষেও কাজ করবে এবং আপনি Tromsø
== তৈরি করেও পার্শ্ব সুবিধা পাবেন Tromso
)।
আমি জাভাস্ক্রিপ্ট জানি না, তবে কি রেজেক্স ব্যবহার করা সম্ভব নয়?
এর মতো [^\w\d\s]
কিছু অঙ্ক, অক্ষর এবং শ্বেতস্পেস ছাড়া কিছু মিলবে। জাভাস্ক্রিপ্টে সিনট্যাক্স সন্ধান করা কেবল একটি প্রশ্ন হবে।
আমি সিগুলের খুব সৃজনশীল সমাধান চেষ্টা করেছিলাম তবে এটি সংখ্যাকে বিশেষ চরিত্র হিসাবেও দেখেছি, যা আমার প্রয়োজন অনুসারে নয়। তাই এখানে আমার (ব্যর্থ সাফ) সিগুলের সমাধানের টুইট করা ...
//return true if char is a number
function isNumber (text) {
if(text) {
var reg = new RegExp('[0-9]+$');
return reg.test(text);
}
return false;
}
function removeSpecial (text) {
if(text) {
var lower = text.toLowerCase();
var upper = text.toUpperCase();
var result = "";
for(var i=0; i<lower.length; ++i) {
if(isNumber(text[i]) || (lower[i] != upper[i]) || (lower[i].trim() === '')) {
result += text[i];
}
}
return result;
}
return '';
}
reg
আপনার প্রথম ফাংশনটিতে ঘোষণা করতে ভুলে গেছেন ।
এটি ব্যবহার করার চেষ্টা করুন
var result= stringToReplace.replace(/[^\w\s]/gi, '')
এখানে ara ক্যারেটটি অবহেলার জন্য \ ডাব্লু [a-zA-Z0-9_] শব্দের অক্ষরের জন্য এবং space গুলি স্পেসের জন্য / [] / জিআই বিশ্বব্যাপী
বিন্দু (।) বিশেষ হিসাবে বিবেচিত হবে না। আমি মোজফেটের এবং সিগলের উত্তরে একটি ওআর শর্ত যুক্ত করেছি:
function isNumber (text) {
reg = new RegExp('[0-9]+$');
if(text) {
return reg.test(text);
}
return false;
}
function removeSpecial (text) {
if(text) {
var lower = text.toLowerCase();
var upper = text.toUpperCase();
var result = "";
for(var i=0; i<lower.length; ++i) {
if(isNumber(text[i]) || (lower[i] != upper[i]) || (lower[i].trim() === '') || (lower[i].trim() === '.')) {
result += text[i];
}
}
return result;
}
return '';
}
const input = `#if_1 $(PR_CONTRACT_END_DATE) == '23-09-2019' #
Test27919<alerts@imimobile.com> #elseif_1 $(PR_CONTRACT_START_DATE) == '20-09-2019' #
Sender539<rama.sns@gmail.com> #elseif_1 $(PR_ACCOUNT_ID) == '1234' #
AdestraSID<hello@imimobile.co> #else_1#Test27919<alerts@imimobile.com>#endif_1#`;
const replaceString = input.split('$(').join('->').split(')').join('<-');
console.log(replaceString.match(/(?<=->).*?(?=<-)/g));
যার বিশেষ অক্ষরগুলি আপনি একটি স্ট্রিং থেকে মুছে ফেলতে চান সেগুলির একটি তালিকা প্রস্তুত করুন এবং তারপরে ব্যবহারকারী জাভাস্ক্রিপ্ট সমস্ত বিশেষ অক্ষরগুলি সরিয়ে ফাংশন প্রতিস্থাপন করুন।
var str = 'abc'de#;:sfjkewr47239847duifyh';
alert(str.replace("'","").replace("#","").replace(";","").replace(":",""));
অথবা আপনি একটি পুরো স্ট্রিংয়ের জন্য লুপ চালাতে পারেন এবং একক একক অক্ষরকে ASCII কোডের সাথে তুলনা করতে এবং একটি নতুন স্ট্রিং পুনরায় জেনারেট করতে পারেন।