কোনও স্ট্রিংয়ের প্রথম এবং শেষ অক্ষরটি কীভাবে সরিয়ে ফেলা যায়


161

আমি ভাবছি কীভাবে জাভাস্ক্রিপ্টে স্ট্রিংয়ের প্রথম এবং শেষ চরিত্রটি সরিয়ে ফেলা যায়।

আমার ইউআরএল প্রদর্শিত হচ্ছে /installers/এবং আমি কেবল চাই installers

কখনও কখনও এটি হবে /installers/services/এবং আমার কেবল প্রয়োজন installers/services

সুতরাং আমি কেবল স্ল্যাশগুলি ছিনিয়ে নিতে পারি না /


আমি এটির প্রথম এবং শেষ চরিত্রটি সরিয়ে দেওয়ার চেষ্টা করছি। আমি কেবল ইউআরএল
চিনাবাদাম

আমি কেবল আশ্চর্য হই যে কেন কেউ লক্ষ্য করে না যে ট্রিমিং স্ল্যাশগুলি (যেমন পাঠ্যটি ইঙ্গিত করে) এবং নিঃশর্তভাবে কোনও স্ট্রিংয়ের প্রথম এবং শেষ চরটি অপসারণ করা (ক্যাপশনটি নির্দেশ করে) তেমন এক নয়। তবে এটি নীচে নীচে বিস্তৃত উত্তর ব্যাখ্যা করে।
JensG

উত্তর:


360

আপনি এখানে যান

var yourString = "/installers/";
var result = yourString.substring(1, yourString.length-1);

console.log(result);

অথবা আপনি অঙ্কিত গুপ্তের.slice পরামর্শ অনুযায়ী ব্যবহার করতে পারেন

var yourString = "/installers/services/";

var result = yourString.slice(1,-1);

console.log(result);

স্লাইস এবং সাবস্ট্রিংয়ের জন্য ডকুমেন্টেশন ।


6
তবে ইউআরএলটির একটি স্ল্যাশ দিয়ে শেষ হবে না, এটি 1 টি অক্ষর গ্রহণ করবে
মার্টিজন

7
@ মার্তিজন এই প্রশ্নের সঠিক উত্তর দেয়। কেউ বলেনি যে আপনি স্ল্যাশ ছাড়া অন্য কিছু ফালা চান না;)। আমার কাছ থেকে +1 - কোডটির উচিত যা করা উচিত তা বলা উচিত, এখানে রেজেক্স উদাহরণ পছন্দ নয়।
এপিসোডেক্স

তবে আপনি যদি অন্য সার্ভারে যেতে চান তবে ট্রেলিং স্ল্যাশ নাও থাকতে পারে (অথবা আপনি উদ্দেশ্যটি পরিবর্তনটি স্বীকার করেছেন)। ডাউনভোটিং নয়, কেবল এটিকে ইঙ্গিত করে :)
মার্টিজন

পেছনের স্ল্যাশটি সর্বদা সেখানে থাকবে কারণ এটি সূচক.এফপি ফাইলের দিকে ইঙ্গিত করছে ...
চিনাবাদাম


14

আমি মনে করি না jQuery এর সাথে কিছু করার আছে। যাইহোক, নিম্নলিখিত চেষ্টা করুন:

url = url.replace(/^\/|\/$/g, '');

1
এটি এখনও অবধি সবচেয়ে সঠিক মত দেখাচ্ছে। একমাত্র জিনিস, আমি একটি কোয়ান্টিফায়ার যোগ চাই, ধরো যদি: /^\/+|\/+$/g
জর্জি

8

আপনি এটি regex করতে পারে:

"string".replace(/^\/?|\/?$/, "")
"/installers/services/".replace(/^\/?|\/?$/, "") // -> installers/services

রেজেক্স ব্যাখ্যা করেছে:
- first চ্ছিক প্রথম স্ল্যাশ :, ^/?পলায়ন -> ^\/?( ^স্ট্রিংয়ের অর্থ)
- পাইপটি (|) হিসাবে পড়তে পারে or
- বিকল্পের শেষে স্ল্যাশের প্রান্তে -> /?$, পলায়ন -> \/?$( $স্ট্রিংয়ের মানে শেষ) )

সংযুক্ত ^/?|/$এটি পালানো ছাড়া হবে । Firstচ্ছিক প্রথম স্ল্যাশ বা alচ্ছিক শেষ স্ল্যাশ


জিনিসটি হ'ল আমি "/" কেটে ফেলতে পারি না কারণ মাঝে মাঝে ইউআরএলটির অভ্যন্তরীণ অংশগুলি পৃথক করার জন্য আমার প্রয়োজন হবে
চিনাবাদাম

অভ্যন্তরীণ স্ল্যাশগুলি দূরে যায় না। আমি রেজেক্সটি সম্পাদনা ও ব্যাখ্যা করব
মার্টিজন

3
"/Installers/services/".replace(/^\/?|\/?$/g," "), আমি কি তোমাদেরকে বিশ্বব্যাপী পতাকা প্রয়োজন এই কাজ করতে মনে
ম্যাট কৃশ

3

আপনি substringপদ্ধতি ব্যবহার করতে পারেন

s = s.substring(0, s.length - 1) //removes last character

অন্য বিকল্প হ'ল sliceপদ্ধতি


3

আপনি এর মতো কিছু করতে পারেন:

"/installers/services/".replace(/^\/+/g,'').replace(/\/+$/g,'')

এই রেজেক্সটি trimবিভিন্ন ভাষায় ব্যবহৃত ফাংশনের একই আচরণের একটি সাধারণ উপায় ।

ট্রিম ফাংশনটির একটি সম্ভাব্য বাস্তবায়ন হ'ল:

function trim(string, char){
    if(!char) char = ' '; //space by default
    char = char.replace(/([()[{*+.$^\\|?])/g, '\\$1'); //escape char parameter if needed for regex syntax.
    var regex_1 = new RegExp("^" + char + "+", "g");
    var regex_2 = new RegExp(char + "+$", "g");
    return string.replace(regex_1, '').replace(regex_2, '');
}

যা /স্ট্রিংয়ের শুরু এবং শেষে সমস্ত মুছবে । এটি যেমন মামলা পরিচালনা করে///installers/services///

আপনি সহজভাবে এটি করতে পারেন:

"/installers/".substring(1, string.length-1);


1

আপনার যদি স্ট্রিংয়ের প্রথম লেটারটি সরিয়ে ফেলতে হয়

string.slice(1, 0)

এবং শেষ চিঠিটি সরানোর জন্য

string.slice(0, -1)

-3
url=url.substring(1,url.Length-1);

ডিরেক্টরিগুলি যদি এটির মতো হয় তবে আপনি ... / ... / ... ... ... ইত্যাদি ব্যবহার করতে পারেন way


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