উত্তর:
এই?
str = str.replace(/\s/g, '');
উদাহরণ
var str = '/var/www/site/Brand new document.docx';
document.write( str.replace(/\s/g, '') );
আপডেট: এই প্রশ্নের ভিত্তিতে , এটি:
str = str.replace(/\s+/g, '');
একটি ভাল সমাধান। এটি একই ফলাফল উত্পাদন করে, তবে এটি দ্রুত করে।
রেজেক্স
\s
"হোয়াইটস্পেস" এর রেজিেক্স, এবং g
এটি "গ্লোবাল" পতাকা, যার অর্থ মিলছে সমস্ত \s
(হোয়াইটস্পেস)।
একটি দুর্দান্ত ব্যাখ্যা এখানে+
পাওয়া যাবে ।
পার্শ্ব দ্রষ্টব্য হিসাবে, আপনি যে কোনও কিছুতে একক উদ্ধৃতিগুলির মধ্যে সামগ্রীটি প্রতিস্থাপন করতে পারেন, যাতে আপনি অন্য কোনও স্ট্রিংয়ের সাথে হোয়াইটস্পেস প্রতিস্থাপন করতে পারেন।
.replace(/\s+/g, '')
প্রায়শই দেখতে পাই । আমার এবং উত্তর এর মধ্যে কোন পার্থক্য আছে?
.replace(' ','')
কাজ করবে যে ছাপ অধীন ছিল । অনেক প্রশংসিত!
+
করেছে ) যদি কেউ তাকে / তারও জমা দিতে চায় তবে কেবলমাত্র 60 টি ভোট রয়েছে stackoverflow.com/a/5964427/4258817
.replace('/\s+/g', '')
এটি আক্ষরিক স্ট্রিংটি সন্ধান করার চেষ্টা করবে। এটি আমাকে আগে ছড়িয়ে দিয়েছে ...
var a = b = " /var/www/site/Brand new document.docx ";
console.log( a.split(' ').join('') );
console.log( b.replace( /\s/g, '') );
এটি করার দুটি উপায়!
সবচেয়ে ছোট এবং দ্রুততম :str.replace(/ /g, '');
মাপকাঠি:
এখানে আমার ফলাফল - (2018.07.13) ক্রোম 67.0.3396 (64-বিট), সাফারি 11.0.3 (13604.5.6), ফায়ারফক্স 59.0.2 (64-বিট)) এ ম্যাকওস হাই সিয়েরা 10.13.3:
ওপি প্রশ্ন থেকে উদাহরণের মতো সংক্ষিপ্ত স্ট্রিং
সমস্ত ব্রাউজারের দ্রুততম সমাধানটি হ'ল / /g
(regexp1a) - ক্রোম 17.7 এম (অপারেশন / সেকেন্ড), সাফারি 10.1 এম, ফায়ারফক্স 8.8 এম। সমস্ত ব্রাউজারের জন্য ধীরতম split-join
সমাধান ছিল । পরিবর্তন করার জন্য
\s
অথবা অ্যাড +
বাi
RegExp প্রসেসিং গতি নিচে।
স্ট্রিংয়ের জন্য প্রায় ~ 3 মিলিয়ন চরিত্রের ফলাফলগুলি:
আপনি এটিকে আপনার মেশিনে চালাতে পারেন: https://jsperf.com/remove-string-spaces/1
@ স্প্র্যাপের উত্তর অনুসরণ করা: আসলে স্প্লিট / জয়েন্ট ওয়ে ব্যবহার করা রেজিএক্সএক্সপ ব্যবহারের চেয়ে দ্রুত। পারফরম্যান্স পরীক্ষার কেসটি দেখুন
সুতরাং
var result = text.split(' ').join('')
চেয়ে দ্রুত পরিচালনা করে
var result = text.replace(/\s+/g, '')
ছোট গ্রন্থগুলিতে এটি প্রাসঙ্গিক নয়, তবে ক্ষেত্রে গুরুত্বপূর্ণ যখন সময় গুরুত্বপূর্ণ, যেমন পাঠ্য বিশ্লেষকরা, বিশেষত যখন ব্যবহারকারীদের সাথে আলাপচারিতা করেন তা গুরুত্বপূর্ণ।
অন্যদিকে, \s+
বিভিন্ন স্থানের অক্ষর পরিচালনা করে। এর সাথে \n
এবং এর মধ্যে \t
এটি \u00a0
চরিত্রের সাথেও মেলে এবং
পাঠ্যটি ব্যবহার করার সময় এটিই পরিণত হয়textDomNode.nodeValue
।
সুতরাং আমি মনে করি যে এখানে উপসংহারটি নিম্নলিখিত হিসাবে তৈরি করা যেতে পারে: আপনার যদি কেবলমাত্র স্থানগুলি প্রতিস্থাপন ' '
করতে হয় তবে বিভক্ত / জোড় ব্যবহার করুন। প্রতীক শ্রেণীর বিভিন্ন চিহ্ন থাকতে পারে - ব্যবহার করুনreplace(/\s+/g, '')
way faster
। পরীক্ষাটি
var input = '/var/www/site/Brand new document.docx';
//remove space
input = input.replace(/\s/g, '');
//make string lower
input = input.toLowerCase();
alert(input);
var output = '/var/www/site/Brand new document.docx'.replace(/ /g, "");
or
var output = '/var/www/site/Brand new document.docx'.replace(/ /gi,"");
দ্রষ্টব্য: আপনি ফাঁকা স্থান অপসারণের জন্য 'জি' বা 'জিআই' ব্যবহার করলেও উভয়ই একই রকম আচরণ করে।
আমরা যদি প্রতিস্থাপন ফাংশনে 'জি' ব্যবহার করি তবে এটি সঠিক মিলের জন্য পরীক্ষা করবে। তবে আমরা যদি 'জিআই' ব্যবহার করি তবে এটি কেস সংবেদনশীলতা উপেক্ষা করে।
রেফারেন্সের জন্য এখানে ক্লিক করুন ।
Regex + প্রতিস্থাপন ()
যদিও রেজেক্স ধীর হতে পারে, অনেকগুলি ব্যবহারের ক্ষেত্রে বিকাশকারী একবারে কয়েকটি স্ট্রিংগুলি চালিত করে তাই গতি বিবেচনা করে অপ্রাসঙ্গিক considering যদিও / / / / \ s / এর চেয়ে দ্রুত, '\ গুলি' থাকার ফলে অন্য বিকাশকারীকে সম্ভবত আরও স্পষ্টভাবে কী চলছে তা ব্যাখ্যা করে।
let string = '/var/www/site/Brand new document.docx';
let path = string.replace(/\s/g, '');
// path => '/var/www/site/Brandnewdocument.docx'
বিভক্ত () + যোগদান ()
স্প্লিট + যোগ ব্যবহার করে স্ট্রিংয়ের আরও শিকলযুক্ত ম্যানিপুলেশনের অনুমতি দেয়।
let string = '/var/www/site/Brand new document.docx';
let path => string.split('').map(char => /(\s|\.)/.test(char) ? '/' : char).join('');
// "/var/www/site/Brand/new/document/docx";
" ahm ed ".split('').filter(e => e.trim().length).join('')