You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何依据给定索引列表在字符串指定位置插入'*'字符

Got it, let's tackle this problem step by step.

Problem Statement

We start with this original string:

s = 'x(4+1) + 4(x+1)+5+(x+1) = x(4+1) +5(x+1)+6+(x+1)'

And a list of indices: [1, 10, 18, 27, 35, 43]. The goal is to insert a * character at each of these positions without deleting any original content, plus understand the general method for this kind of string insertion task.

Solution

Core Insight

Here's the critical thing: inserting a character shifts all characters after the insertion point to the right. If we process indices from left to right, the original indices we have will become invalid for later insertions (since the string length keeps increasing).

The fix? Process indices from largest to smallest (reverse order). This way, inserting a * at a higher index doesn't affect the positions of the lower indices (they're to the left of the insertion point, which we haven't touched yet).

Python Implementation

Let's turn this logic into code:

# Original input
s = 'x(4+1) + 4(x+1)+5+(x+1) = x(4+1) +5(x+1)+6+(x+1)'
indices = [1, 10, 18, 27, 35, 43]

# Sort indices in descending order to handle right-to-left insertion
sorted_indices = sorted(indices, reverse=True)

# Insert '*' at each target index
for idx in sorted_indices:
    s = s[:idx] + '*' + s[idx:]

# View the final result
print(s)

Output Result

Running the code will produce this modified string:

x*(4+1) + 4*(x+1)+5+*(x+1) = x*(4+1) +5*(x+1)+6+*(x+1)

General Approach Breakdown

This method works across most programming languages—just adjust the syntax to match your tool:

  • Sort Indices: Always sort the target index list in descending order to avoid index shifting issues.
  • String Slicing/Concatenation: Split the string into two parts (everything before the index, everything from the index onward), then glue them back together with your inserted substring in the middle.
  • Update Iteratively: Replace the original string with the modified version after each insertion to build up the final result.

内容的提问来源于stack exchange,提问作者samiul seikh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.09 13:17:44