উত্তর:
var a = "I want apple";
var b = " an";
var position = 6;
var output = [a.slice(0, position), b, a.slice(position)].join('');
console.log(output);
নিম্নলিখিতটি textঅন্য একটি স্ট্রিংয়ের মধ্যে একটি পছন্দসই index, string চ্ছিক removeCountপ্যারামিটার সহ বিচ্ছিন্ন করতে ব্যবহৃত হতে পারে ।
if (String.prototype.splice === undefined) {
/**
* Splices text within a string.
* @param {int} offset The position to insert the text at (before)
* @param {string} text The text to insert
* @param {int} [removeCount=0] An optional number of characters to overwrite
* @returns {string} A modified string containing the spliced text.
*/
String.prototype.splice = function(offset, text, removeCount=0) {
let calculatedOffset = offset < 0 ? this.length + offset : offset;
return this.substring(0, calculatedOffset) +
text + this.substring(calculatedOffset + removeCount);
};
}
let originalText = "I want apple";
// Positive offset
console.log(originalText.splice(6, " an"));
// Negative index
console.log(originalText.splice(-5, "an "));
// Chaining
console.log(originalText.splice(6, " an").splice(2, "need", 4).splice(0, "You", 1));
.as-console-wrapper { top: 0; max-height: 100% !important; }
var output = [a.slice(0, position + 1), b, a.slice(position)].join('');, আমি ওপেনগুলিকে "আমি একটি আপেল চাই" দেই, "আমি চাই অ্যাপল" instead
var output = a.substring(0, position) + b + a.substring(position);
সম্পাদনা: এর সাথে প্রতিস্থাপন .substrকরা হয়েছে .substringকারণ .substrএখন একটি লিগ্যাসি ফাংশন (প্রতি https://developer.mozilla.org/en-US/docs/Web/JavaScript/ উল্লেখ / গ্লোবাল_অবজেক্টস / স্ট্রিং / সুব্রাস্টার )
String.prototype.substrএখন অবচয় করা হয়েছে। বিকাশকারী.মোজিলা.আর.ইন-
.substring
আপনি স্ট্রিং ক্লাসে এই ফাংশনটি যুক্ত করতে পারেন
String.prototype.insert_at=function(index, string)
{
return this.substr(0, index) + string + this.substr(index);
}
যাতে আপনি এটি কোনও স্ট্রিং অবজেক্টে ব্যবহার করতে পারেন:
var my_string = "abcd";
my_string.insertAt(1, "XX");
ES6 স্ট্রিং লিটারেল ব্যবহার করা অনেক কম হবে:
const insertAt = (str, sub, pos) => `${str.slice(0, pos)}${sub}${str.slice(pos)}`;
console.log(insertAt('I want apple', ' an', 6)) // logs 'I want an apple'
আপনি যদি সূচিপত্র () এর মতো ব্যবহার করে অবস্থান নির্ধারণ করেন তবে এটি আরও ভাল :
function insertString(a, b, at)
{
var position = a.indexOf(at);
if (position !== -1)
{
return a.substr(0, position) + b + a.substr(position);
}
return "substring not found";
}
তারপরে এইভাবে ফাংশনটি কল করুন:
insertString("I want apple", "an ", "apple");
দ্রষ্টব্য, আমি রিটার্নের স্টেটমেন্টের পরিবর্তে ফাংশন কলের "an" এর পরে একটি স্থান রেখেছি।
Underscore.String গ্রন্থাগার একটি ফাংশন যা হয়েছে ঢোকান
সন্নিবেশ (স্ট্রিং, সূচক, সাবস্ট্রিং) => স্ট্রিং
তাই ভালো
insert("Hello ", 6, "world");
// => "Hello world"
চেষ্টা
a.slice(0,position) + b + a.slice(position)
বা regexp সমাধান
"I want apple".replace(/^(.{6})/,"$1 an")
var array = a.split(' ');
array.splice(position, 0, b);
var output = array.join(' ');
এটি ধীর হতে পারে তবে এর পূর্বে এবং তার পরে স্থান সংযোজনের বিষয়টি বিবেচনা করবে, আপনাকে অবস্থানের মানটি পরিবর্তন করতে হবে (2 এ, এটি এখন আরও স্বজ্ঞাত)
দ্রুত ঠিক করা! আপনি যদি ম্যানুয়ালি কোনও স্থান যোগ করতে না চান তবে আপনি এটি করতে পারেন:
var a = "I want apple";
var b = "an";
var position = 6;
var output = [a.slice(0, position + 1), b, a.slice(position)].join('');
console.log(output);
(সম্পাদনা করুন: আমি দেখতে পাচ্ছি যে এটির উপরে উত্তর দেওয়া হয়েছে, দুঃখিত!)
যদি ES2018 এর লুকবাইন্ড উপলব্ধ থাকে তবে আর একটি রেজিপ এক্স সমাধান, এটি নবম চরিত্রের পরে শূন্য-প্রস্থ অবস্থানে "প্রতিস্থাপন" করার জন্য এটি ব্যবহার করে (@ কামিল কিয়েস্কেজিউস্কির অনুরূপ, তবে ক্যাপচারিং গ্রুপে প্রাথমিক অক্ষরগুলি সংরক্ষণ না করে):
"I want apple".replace(/(?<=^.{6})/, " an")
ঠিক আছে শুধুমাত্র একটি ছোট পরিবর্তন 'উপরের সমাধান আউটপুট কারণ
"আমি একটি আপেল চাই"
পরিবর্তে
"আমি একটি আপেল চাই"
হিসাবে আউটপুট পেতে
"আমি একটি আপেল চাই"
নিম্নলিখিত সংশোধিত কোড ব্যবহার করুন
var output = a.substr(0, position) + " " + b + a.substr(position);