সি # তে স্ট্রিংয়ের শেষে থেকে গাড়ীর রিটার্ন এবং নতুন-লাইন সরানো হচ্ছে


113

আমি স্ট্রিংয়ের শেষে থেকে ক্যারেজ রিটার্ন চরিত্র (\r)এবং নতুন লাইন চরিত্রটিকে কীভাবে সরিয়ে দেব (\n)?

উত্তর:


198

এটি শেষের দিক থেকে কোনও গাড়ীর রিটার্ন এবং নতুন লাইনের সংমিশ্রণটি ছাঁটাবে s:

s = s.TrimEnd(new char[] { '\r', '\n' });

সম্পাদনা করুন : বা জেপি সদয়ভাবে উল্লেখ করেছেন, আপনি যে আরও সাবলীলভাবে বানান করতে পারেন:

s = s.TrimEnd('\r', '\n');

10
ট্রিমেন্ডের ঘোষণায় প্যারাম কীওয়ার্ডটি নোট করুন, এটি আপনাকে অ্যারের পরিবর্তে একটি অক্ষরের একাধিক উদাহরণ পাস করবে। msdn.microsoft.com/en-us/library/w5zay9db(VS.71).aspx
জেপি Alioto

3
এটি সম্পর্কে কীভাবে: s = s.TrimEnd (System.En वातावरण.NewLine.ToCharArray ());
О Г И І И О

4
ভি 1.0 প্রকাশের পরে (10 বছর আগে) আমি সি লিখছি been এখন আপনি আমাকে ট্রিমেন্ড সম্পর্কে বলুন। ডোহ!
s15199d

7
মাত্র আগ্রহের বাইরে, s = s.TrimEnd()ডকস যেমন বলেছেন: ট্রিমচারগুলি নাল বা খালি অ্যারে হয়, তার পরিবর্তে ইউনিকোড সাদা-স্পেস অক্ষর মুছে ফেলা হয়। - স্ট্রিং.TrimEnd দেখুন
স্টুয়ার্ট উড

@ স্টুয়ার্টওয়ুড: ... যা আভিক চেয়েছিল তা নয়। তিনি উদাহরণস্বরূপ স্পেস ক্যারেক্টারের জন্য নয় '\r'এবং বিশেষত '\n'অন্য কিছু জিজ্ঞাসা করেছিলেন ' '
রিচিহিন্দল


19

আপনি যদি একাধিক প্ল্যাটফর্ম ব্যবহার করেন তবে আপনি এই পদ্ধতিটি ব্যবহার করে নিরাপদ।

value.TrimEnd(System.Environment.NewLine.ToCharArray());

এটি বিভিন্ন নতুন লাইন এবং ক্যারেজ-রিটার্ন চরিত্রগুলির জন্য অ্যাকাউন্ট করবে।


জেপির পদ্ধতি - tst.TrimEnd( '\r', '\n' )- বাস্তবে যথাযথভাবে "নিরাপদ" কারণ প্রধান ইওলগুলি [বর্তমানে] কেবলমাত্র বিভিন্ন কম্বো \rএবং এবং \nঅ্যালেক্সের হ'ল "সঠিক" উত্তর। সিএলআর আপনাকে এই প্ল্যাটফর্মের নতুন লাইনে অক্ষরগুলি কী তা জানাতে দিন। EOL সর্বদা 0 ডিএস এবং 0 এএস
কম্বোস

আমি ব্যবহার করতাম Environment.NewLineতবে এটি \rউপস্থিত ছিল না যেখানে উপস্থিত ছিল তার উদাহরণগুলি পরিচালনা করে না \nTrimEnd('r','\n')এই ক্ষেত্রে আরও নির্ভরযোগ্য বলে মনে হচ্ছে।
ʙᴀᴋᴇʀ

2
এটি হতে পারে যে এটি আসলে একটি ক্রস প্ল্যাটফর্ম সমস্যা এবং সিস্টেমের পরিবেশ যা বলে তা বিবেচনা না করেই dec r \ n কে উভয়ই সরিয়ে ফেলা দরকার dec
অ্যান্ড্রু হিল

12
String temp = s.Replace("\r\n","").Trim();

sমূল স্ট্রিং হচ্ছে। (নোট রাজধানী)


11
এটি এছাড়াও: 1) স্ট্রিংয়ের মাঝামাঝি থেকে \ r \ n সরান, ২) স্ট্রিংয়ের শুরু থেকে কোনও হোয়াইটস্পেস অক্ষর মুছুন এবং 3) স্ট্রিংয়ের শেষে থেকে কোনও হোয়াইটস্পেস অক্ষর মুছুন।
রিচিহিন্ডল

সত্য, আমি শেষে কেবল এক / র / এন ধরেছি। অরজিনাল পোস্টে এটি উল্লেখ করা হয়নি। আমি নিশ্চিত নই যে ওয়ারেন্টস -১ ভোট দেয়
ক্র্যাশ 893

ঠিক আমি খুঁজছেন ছিল কি. ধন্যবাদ।
NotMe

4
replace()তখন কী ব্যবহার একাকী কাজটি করতে পারে trim()যখন TrimEnd()একা কাজ করতে পারে, বা আমি কিছু অনুপস্থিত?
ʙᴀᴋᴇʀ

দুর্দান্ত পরামর্শ @ ম্যাটবেকার
ক্র্যাশ 893

8
s.TrimEnd();

আমার স্ট্রিংয়ের শেষে থেকে '\ r \ n' অপসারণ করতে আমার উপরের সমস্ত প্রয়োজন।

উর্ধ্বমুখী উত্তরটি আমার কাছে ভুল বলে মনে হচ্ছে। প্রথমত, এটা কাজ করে নি যখন আমি চেষ্টা করেছি, দ্বিতীয়ত, আমি যে s.TrimEnd ( 'পান \ r', '\ N') শুধুমাত্র মুছে ফেলা হবে আশা যদি এটি কাজ করেনি পারেন একটি '\ R' বা '\ এন' , সুতরাং আমাকে এটি আমার স্ট্রিংয়ের উপর দিয়ে দু'বার চালাতে হবে - একবার '\ n' যখন ছিল তখন এবং দ্বিতীয়বার '' r 'শেষে ছিল (এখন' \ n 'সরানো হয়েছে) ।


4

যদি সর্বদা একটি সিআরএলএফ থাকে তবে তা:

myString = myString.Substring(0, myString.Length - 2);

যদি এটি থাকতে পারে বা নাও থাকে তবে:

Regex re = new Regex("\r\n$");
re.Replace(myString, "");

এই দুটি (নকশা দ্বারা), সর্বাধিক একটি সিআরএলএফ মুছে ফেলবে। পারফরম্যান্সের জন্য রেজেক্সকে ক্যাশে করুন।



3
string k = "This is my\r\nugly string. I want\r\nto change this. Please \r\n help!";
k = System.Text.RegularExpressions.Regex.Replace(k, @"\r\n+", " ");

3

এটি খুব সহজ ছিল - আমার জন্য আমি নির্দিষ্ট ইমেল আইটেমগুলি ফিল্টার করছি। আমি আমার নিজস্ব কাস্টম ইমেল জাঙ্ক ফিল্টার লিখছি। String r এবং / অথবা \ n স্ট্রিংয়ের সাথে এটি ফিল্টারিংয়ের পরিবর্তে সমস্ত আইটেম মুছে ফেলছিল।

সুতরাং, আমি সবেমাত্র ফিল্টার = ফিল্টার করেছি em অপসারণ ('\ n') এবং ফিল্টার = ফিল্টার। সরান (') r')। আমি আমার ফিল্টারটি এমনভাবে তৈরি করছি যে কোনও প্রান্ত ব্যবহারকারী নোটপ্যাড সরাসরি ফাইল সম্পাদনা করতে ব্যবহার করতে পারে যাতে এই অক্ষরগুলি কোথায় এম্বেড করতে পারে - সেখানে স্ট্রিংয়ের শুরু বা শেষের অংশ ব্যতীত অন্য কোনও জিনিস থাকতে পারে telling সুতরাং তাদের সব অপসারণ এটি করে।

অন্যান্য এন্ট্রিগুলি সমস্ত কাজ করে তবে সরান কি সবচেয়ে সহজ হতে পারে?

আমি এই পোস্ট থেকে রেজেক্স সম্পর্কে আরও কিছুটা শিখেছি - এর ব্যবহারের সাথে এখানে দুর্দান্ত কাজ।


দেখে মনে হচ্ছে আপনি ঠিক করতে পেরেছেনfilter = filter.Remove('\n').Remove('\r');
জন স্যান্ডার্স

2

আমি প্রচুর মুছে ফেলার স্তর ব্যবহার করি

String donen = "lots of stupid whitespaces and new lines and others..."

//Remove multilines
donen = Regex.Replace(donen, @"^\s+$[\r\n]*", "", RegexOptions.Multiline);
//remove multi whitespaces
RegexOptions options = RegexOptions.None;
Regex regex = new Regex("[ ]{2,}", options);
donen = regex.Replace(donen, " ");
//remove tabs
char tab = '\u0009';
donen = donen.Replace(tab.ToString(), "");
//remove endoffile newlines
donen = donen.TrimEnd('\r', '\n');
//to be sure erase new lines again from another perspective
donen.Replace(Environment.NewLine, "");

এবং এখন আমরা একটি পরিষ্কার একটি সারি আছে



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