জাভাস্ক্রিপ্ট নিয়মিত এক্সপ্রেশন স্পেস সরান


90

সুতরাং আমি স্ট্রিং থেকে ফাঁকা স্থান সরিয়ে JQuery এর জন্য একটি ছোট্ট প্লাগইন লিখছি। এখানে দেখো

(function($) {
    $.stripSpaces = function(str) {
        var reg = new RegExp("[ ]+","g");
        return str.replace(reg,"");
    }
})(jQuery);

আমার নিয়মিত প্রকাশটি বর্তমানে [ ]+সমস্ত শূন্যস্থান সংগ্রহ করার জন্য। এই কাজ .. তবে এটা একটা ভাল স্বাদ আমার মুখের মধ্যে .. ছাড়বে না আমিও চেষ্টা [\s]+এবং [\W]+কিন্তু কেউই কাজ ..

কেবলমাত্র ফাঁকা জায়গা অনুসন্ধানের আরও ভাল (আরও সংক্ষিপ্ত) উপায় থাকতে হবে।

উত্তর:


231

আমি আপনাকে আক্ষরিক স্বরলিপি এবং \sচরিত্র শ্রেণিটি ব্যবহার করার পরামর্শ দিচ্ছি :

//..
return str.replace(/\s/g, '');
//..

অক্ষর শ্রেণি \sএবং কেবল ব্যবহারের মধ্যে পার্থক্য রয়েছে ' ', এটি অনেক বেশি শ্বেত-স্থানের অক্ষরের সাথে মিলবে, উদাহরণস্বরূপ '\t\r\n'ইত্যাদি,, ' 'কেবলমাত্র ASCII 32 ফাঁকা স্থান প্রতিস্থাপন করবে for

RegExpযখন আপনি করতে চান কন্সট্রাকটর দরকারী গড়ে তুলতে একটি গতিশীল প্যাটার্ন, এই ক্ষেত্রে আপনি এটি প্রয়োজন না।

তাছাড়া, যেমনটি আপনি বলেছিলেন, কনস্ট্রাক্টরের "[\s]+"সাথে কাজ করেননি RegExp, কারণ আপনি একটি স্ট্রিং পেরিয়ে যাচ্ছেন, এবং আপনার পিছনে স্ল্যাশগুলি "ডাবল পলায়ন" করা উচিত, অন্যথায় তারা স্ট্রিংয়ের ভিতরে অক্ষর পলায়ন হিসাবে ব্যাখ্যা করা হবে (যেমন: "\s" === "s"(অজানা পলায়ন))।



1
str.replace(/\s/g,'')

আমার জন্য কাজ কর.

jQuery.trim আই-এর জন্য নিম্নলিখিত হ্যাক রয়েছে, যদিও আমি নিশ্চিত না যে এটি কী সংস্করণগুলি প্রভাবিত করে:

// Check if a string has a non-whitespace character in it
rnotwhite = /\S/

// IE doesn't match non-breaking spaces with \s
if ( rnotwhite.test( "\xA0" ) ) {
    trimLeft = /^[\s\xA0]+/;
    trimRight = /[\s\xA0]+$/;
}

1

স্ট্রিংয়ের সমস্ত স্পেস সরান

// Remove only spaces
`
Text with spaces 1 1     1     1 
and some
breaklines

`.replace(/ /g,'');
"
Textwithspaces1111
andsome
breaklines

"

// Remove spaces and breaklines
`
Text with spaces 1 1     1     1
and some
breaklines

`.replace(/\s/g,'');
"Textwithspaces1111andsomebreaklines"

1

উত্পাদন এবং লাইন বিরতি জুড়ে কাজ করে

অতিরিক্ত স্পেসিং / রিটার্ন ইত্যাদি সরিয়ে ব্যবহারকারী-উত্পাদিত সামগ্রী পরিষ্কার করতে এটি বেশ কয়েকটি অ্যাপ্লিকেশনে ব্যবহৃত হয় তবে স্পেসের অর্থ ধরে রাখে।

text.replace(/[\n\r\s\t]+/g, ' ')

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.