প্রদত্ত এইচটিএমএল স্ট্রিং থেকে শীর্ষস্থানীয় এবং অনুসরণকারী সাদা স্পেসগুলি কীভাবে সরিয়ে ফেলবেন?


177

আমি নিম্নলিখিত HTML স্ট্রিং করেছি। জাভা স্ক্রিপ্টে নমুনা কোডটি কী এই স্ট্রিং থেকে শীর্ষস্থানীয় এবং অনুসরণকারী শ্বেত স্থানগুলি সরিয়ে ফেলবে?

<p>&nbsp;&nbsp;</p>
<div>&nbsp;</div>
Trimming using JavaScript<br />
<br />
<br />
<br />
all leading and trailing white spaces
<p>&nbsp;&nbsp;</p>
<div>&nbsp;</div>


আপনার আসল সমস্যা কি? আপনি কি নথিতে নোড সন্নিবেশ করার আগে সাদা স্থান সরাতে চান?
রব ডব্লিউ

আমি সমস্ত নেতৃস্থানীয় সাদা স্পেস পাশাপাশি সমস্ত পেছনের সাদা স্থান সরিয়ে ফেলতে চাই। এটি আমার এমনকি # # তে ট্রিম পদ্ধতির মতো তবে এটি এমনকি সাদা স্পেসও সরিয়ে দেয়।
সুনীল

সুতরাং আমার উদাহরণে, অবশেষে ট্রিমিংয়ের পরে আমার নিম্নলিখিতটি পাওয়া উচিত: জাভাস্ক্রিপ্ট ব্যবহার করে ছাঁটাই করা <br /> <br /> <br /> <br /> সমস্ত নেতৃস্থানীয় এবং পিছনে থাকা সাদা স্পেস
সুনীল

@Sunil যদি আপনি কি কখনো এই মীমাংসিত আমি জানি না, কিন্তু আপনি এই সমস্যার সমাধান এক চেষ্টা করে দেখতে পারেন: stackoverflow.com/questions/16708158/...
ক্রিস বেকার

উত্তর:


244

স্ট্রিং পদ্ধতিটি দেখুন trim()- https://developer.mozilla.org/en/JavaScript/ উল্লেখ / গ্লোবাল_অবজেক্টস / স্ট্রিং / ট্রিম

var myString = '  bunch    of <br> string data with<p>trailing</p> and leading space   ';
myString = myString.trim();
// or myString = String.trim(myString);

সম্পাদন করা

অন্যান্য মন্তব্যে উল্লিখিত হিসাবে, রিজেক্স পদ্ধতির ব্যবহার সম্ভব। trimপদ্ধতি কার্যকরভাবে শুধু একটি Regex জন্য একটি alias হল:

if(!String.prototype.trim) {  
  String.prototype.trim = function () {  
    return this.replace(/^\s+|\s+$/g,'');  
  };  
} 

... এটি সেই ব্রাউজারগুলির যারা এখনও পুলের অগভীর প্রান্তে সাঁতার কাটছে তাদের দেশীয় প্রোটোটাইপটিতে পদ্ধতিটি ইনজেক্ট করবে।


3
আমি একটি রেজেক্স উপায় পছন্দ করব, কারণ এটি সমস্ত ব্রাউজারগুলিতে সমর্থিত নয় ( কাশি কাশি IE <9)।
PeeHaa

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

8
আপনি কী "সাদা স্পেস" মনে করেন তা নিশ্চিত নই, তবে ছাঁটাইটি কেবল স্থানের অক্ষর নয়, সাধারণভাবে (নতুনরেখা, স্থান, ট্যাব ইত্যাদি) সাদা অংশকে সরিয়ে ফেলবে।
বাসা

2
@ বিএসএ আমি বুঝতে পেরেছিলাম যে তার অর্থ হ'ল এইচটিএমএল রেন্ডারিংয়ের ফলাফলের দৃষ্টিভঙ্গি ফাঁকা জায়গাগুলির মতো চাক্ষুষ অর্থে "সাদা স্থান", এবং তারপরে তিনি " brট্যাগগুলির কারণে সৃষ্ট নিউজলাইনগুলি বাদ দিয়ে" উপরে একটি মন্তব্যে যুক্ত করেছিলেন ।
ক্রিস বেকার

2
১ 170০ টি উর্ধ্বে থাকা উত্তরের কেন একটি চেক চিহ্ন নেই? এসও আমাকে মাঝে মাঝে বিভ্রান্ত করে।
tcoulson

63
var str = "  my awesome string   "
str.trim();    

পুরানো ব্রাউজারগুলির জন্য, রেজেেক্স ব্যবহার করুন

str = str.replace(/^[ ]+|[ ]+$/g,'')
//str = "my awesome string" 

2
"[]" ঠিক "" এর মতোই। ঠিক একটি চরিত্রের একটি চরিত্রের গোষ্ঠীকরণ হ'ল ... ভাল ... ঠিক একটি চরিত্র।
ফ্লিমজি

2
@ ফ্লিমজি: ​​হ্যাঁ, এটি লেখার জন্য আরও অর্থবোধ করবে [\t\n\ ]বা তার \sপরিবর্তে [ ]কোনও অর্থবোধ করে না।
এরিক

11
string.replace(/^\s+|\s+$/g, "");

প্রশ্নটি পড়ুন, &nbsp;একটি সাধারণ সাদা স্থানের পরিবর্তে ব্যবহৃত হয়। এর উপরে, শ্বেত স্থানটি একটি ট্যাগের মধ্যে রয়েছে।
রব ডব্লিউ

6

আপনি যদি কোনও কোড ফাইলের মতো একাধিক স্ট্রিং দিয়ে কাজ করছেন:

<html>
    <title>test</title>
    <body>
        <h1>test</h1>
    </body>
</html>

এবং এই ফলাফল পেতে, সমস্ত নেতৃস্থানীয় লাইন প্রতিস্থাপন করতে চান:

<html>
<title>test</title>
<body>
<h1>test</h1>
</body>
</html>

আপনাকে অবশ্যই multilineআপনার রেজেক্সে পতাকাটি যুক্ত করতে হবে , ^এবং $লাইন দিয়ে লাইন মেলাতে হবে:

string.replace(/^\s+|\s+$/gm, '');

ডক্স থেকে প্রাসঙ্গিক উক্তি :

"মি" পতাকাটি ইঙ্গিত দেয় যে একটি বহু লাইন ইনপুট স্ট্রিংটি একাধিক লাইন হিসাবে গণ্য করা উচিত। উদাহরণস্বরূপ, যদি "এম" ব্যবহার করা হয়, "^" এবং "$" ম্যাচ থেকে পুরো স্ট্রিংয়ের শুরু বা শেষের পরে স্ট্রিংয়ের মধ্যে কোনও লাইনের শুরু বা শেষের দিকে পরিবর্তিত হয়।


4

আমি জানি এটি একটি খুব পুরানো প্রশ্ন তবে এটির এখনও একটি স্বীকৃত উত্তর নেই। আমি দেখতে পাচ্ছি যে আপনি নিম্নলিখিতটি সরিয়ে ফেলতে চান: এইচটিএমএল ট্যাগগুলি যা "শূন্য" এবং এইচটিএমএল স্ট্রিংয়ের উপর ভিত্তি করে সাদা স্পেস রয়েছে।

আপনি যে আউটপুটটি সন্ধান করছেন তার জন্য আমি আপনার মন্তব্যের ভিত্তিতে একটি সমাধান নিয়ে এসেছি:

Trimming using JavaScript<br /><br /><br /><br />all leading and trailing white spaces 

var str = "<p>&nbsp;&nbsp;</p><div>&nbsp;</div>Trimming using JavaScript<br /><br /><br /><br />all leading and trailing white spaces<p>&nbsp;&nbsp;</p><div>&nbsp;</div>";
console.log(str.trim().replace(/&nbsp;/g, '').replace(/<[^\/>][^>]*><\/[^>]+>/g, ""));

.trim() নেতৃস্থানীয় এবং পিছনের সাদা স্থান সরিয়ে দেয়

.replace(/&nbsp;/g, '') অপসারণ &nbsp;

.replace(/<[^\/>][^>]*><\/[^>]+>/g, "")); খালি ট্যাগ সরিয়ে দেয়


3
var trim = your_string.replace(/^\s+|\s+$/g, '');

1
এটি কি সাদা স্পেসগুলি <br /> বা <p> & nbsp; & nbsp; </p> <ডিভি> & nbsp; </div> এর মতো সরিয়ে ফেলবে? সহজ জায়গা ট্রামিং একটি সমস্যা নয়। এটি পরে আমি সাদা স্থান অপসারণ।
সুনীল

এটি সাদা স্থান সরিয়ে ফেলবে
ব্যবহারকারী 2086641

3

01)। আপনার যদি কেবল শীর্ষস্থানীয় এবং অনুসরণকারী শ্বেত স্থানটি অপসারণ করতে হয় তবে এটি ব্যবহার করুন:

var address = "  No.255 Colombo  "
address.replace(/^[ ]+|[ ]+$/g,'');

এটি "No.255 কলম্বো" স্ট্রিংটি ফিরে আসবে

02)। আপনার যদি সমস্ত সাদা স্থান অপসারণ করতে হয় তবে এটি ব্যবহার করুন:

var address = "  No.255 Colombo  "
address.replace(/\s/g,"");

এটি স্ট্রিং "No.255 কলম্বো" ফিরিয়ে দেবে

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