একটি স্ট্রিং থেকে নেতৃস্থানীয় কমা সরান


187

আমার কাছে নিম্নলিখিত স্ট্রিং রয়েছে:

",'first string','more','even more'"

আমি এটিকে একটি অ্যারেতে রূপান্তর করতে চাই তবে স্পষ্টতই এটি প্রথম কমাটির কারণে বৈধ নয়। আমি কীভাবে আমার স্ট্রিং থেকে প্রথম কমা সরিয়ে এটিকে একটি বৈধ অ্যারে করতে পারি?

আমি এই জাতীয় কিছু দিয়ে শেষ করতে চাই:

myArray  = ['first string','more','even more']

43
সহজভাবে ব্যবহার করুনmyString.slice(1);
NBK

2
@ নিখিলবেনকুরুভিলা এটি কোনও চরিত্রটি কমা না হলেও সরিয়ে দেবে। এখানে প্রথম চরিত্রের কমা-কেবল অপসারণের স্ট্যাকওভারফ্লো.com
পাভেল


পাওয়েল, প্রথম সেমিকোলনটি স্ট্রিংয়ের শুরু থেকেই যেখানেই হোক না কেন এটি সরিয়ে ফেলতে অভিব্যক্তিটি কী হবে? আমাকে এটি ব্যবহার করতে হবে: ফাংশন রিলিজ ফার্স্টসেমিকোলন (str) {str = str.trim (); str = str.replace (/ ^; /, ''); ret str; } এটি আরও সহায়ক হতে পারে - চরিত্রের আগে এবং পরে প্রায়শই সাদা জায়গা থাকে তাই সত্যিই আমাকে দুবার ট্রিম ব্যবহার করতে হবে।
ব্যবহারকারী 1585204

উত্তর:


312

প্রথম অক্ষরটি অপসারণ করতে আপনি ব্যবহার করবেন:

var myOriginalString = ",'first string','more','even more'"; 
var myString = myOriginalString.substring(1);

আমি নিশ্চিত নই যে আপনি যে ফলাফলটি সন্ধান করছেন এটি তারই ফলস্বরূপ কারণ এটির সাথে একটি অ্যারে তৈরি করতে আপনাকে এখনও এটি বিভক্ত করতে হবে। হতে পারে এরকম কিছু:

var myString = myOriginalString.substring(1);
var myArray = myString.split(',');

মনে রাখবেন, 'অক্ষরটি এখানে বিভাজনে প্রতিটি স্ট্রিংয়ের একটি অংশ হবে।


94

এই নির্দিষ্ট ক্ষেত্রে (আপনি মুছতে চান সর্বদা শুরুতে একটি অক্ষর থাকে) আপনি চাইবেন:

str.substring(1)

তবে, আপনি যদি কমা আছে কিনা তা সনাক্ত করতে সক্ষম হন এবং এটি থাকলে তা মুছে ফেলতে চান, তবে এর মতো কিছু:

if (str[0] == ',') { 
  str = str.substring(1);
}

3
শর্তাধীন হিসাবে +1। কমা অনুমান করা সর্বদা ভাল এটি সেখানে নাও থাকতে পারে।
জোমো 1984

1
এটি একটি ভাল উত্তর এবং এটি গ্রহণযোগ্য উত্তর হওয়া উচিত।
ক্রিস্টোফার স্মিত

প্রথম চরিত্রটি পরীক্ষা করার জন্য দুটি বার স্ট্রিং চালানোর দরকার নেই: if (str[0] === ',')এটি আরও কিছুটা পারফরম্যান্ট করার জন্য।
ক্রুট

11

এক রৈখিক

str = str.replace(/^,/, '');

আমি ফিরে আসবো.


9
var s = ",'first string','more','even more'";

var array = s.split(',').slice(1);

এটি ধরে নিয়েছে যে আপনি যে স্ট্রিংটি শুরু করেছেন তা আসলে একটি স্ট্রিং, যেমনটি আপনি বলেছেন, এবং স্ট্রিংগুলির একটি অ্যারে নয়।


4

স্ট্রিং ধরে নিলে মাইএসটিআর বলে:

// Strip start and end quotation mark and possible initial comma
myStr=myStr.replace(/^,?'/,'').replace(/'$/,'');

// Split stripping quotations
myArray=myStr.split("','");

মনে রাখবেন যে যদি কোনও স্ট্রিং যদি তার উদ্ধৃতি চিহ্ন উপস্থিত না করেও তালিকায় নিখোঁজ হতে পারে এবং আপনি অ্যারেতে সংশ্লিষ্ট স্থানে একটি ফাঁকা জায়গা চান, আপনার শক্তিশালী সমাধানের জন্য ম্যানুয়ালি বিভাজক লিখতে হবে।


4
var s = ",'first string','more','even more'";  
s.split(/'?,'?/).filter(function(v) { return v; });

ফলাফল স্বরূপ:

["first string", "more", "even more'"]

সম্ভবত একক উদ্ধৃতি দ্বারা বেষ্টিত কমা দিয়ে প্রথম বিভক্ত করুন,
তারপরে অ-সত্যবাদী (খালি) অংশগুলি ফিল্টার করুন।


3

একটি স্ট্রিংকে অ্যারেতে পরিণত করতে আমি সাধারণত ব্যবহার করি split()

> var s = ",'first string','more','even more'"
> s.split("','")
[",'first string", "more", "even more'"]

এটি আপনি চান প্রায়। এখন আপনাকে কেবল প্রথম দুটি এবং শেষ চরিত্রটি সরিয়ে ফেলতে হবে:

> s.slice(2, s.length-1)
"first string','more','even more"

> s.slice(2, s.length-2).split("','");
["first string", "more", "even more"]

স্ট্রিং থেকে একটি সাবস্ট্রিং বের করার জন্য আমি সাধারণত ব্যবহার করি slice()তবে substr()এবং substring()কাজটিও করি।


1

আপনি সরাসরি জাভাস্ক্রিপ্টে রেগেক্সের সাথে ফাংশন প্রতিস্থাপন করতে পারেন বা পিএইচপি এলটিরিম (বাম) এবং rtrim (ডানদিকে) হিসাবে একটি সহায়তা ফাংশনটি সংজ্ঞায়িত করতে পারেন:

1) প্রতিস্থাপন সহ:

var myArray = ",'first string','more','even more'".replace(/^\s+/, '').split(/'?,?'/);

2) সহায়তা ফাংশন:

if (!String.prototype.ltrim) String.prototype.ltrim = function() {
    return this.replace(/^\s+/, '');
};
if (!String.prototype.rtrim) String.prototype.rtrim = function() {
    return this.replace(/\s+$/, '');
};
var myArray = ",'first string','more','even more'".ltrim().split(/'?,?'/).filter(function(el) {return el.length != 0});;

আপনি চরটি কীভাবে প্রতিস্থাপন করতে চান ইত্যাদি দিয়ে সহায়তা ফাংশনে প্যারামিটার যুক্ত করতে আপনি এবং অন্যান্য কিছু করতে পারেন etc.


1
s=s.substring(1);

আমি জিনিস সহজ রাখা পছন্দ করি।


0

এটি পেছনের কমা এবং স্থানগুলি সরিয়ে ফেলবে

var str = ",'first string','more','even more'";
var trim = str.replace(/(^\s*,)|(,\s*$)/g, '');
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.