Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/289.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用python在字符串中插入字符_Python_Insert_Character - Fatal编程技术网

使用python在字符串中插入字符

使用python在字符串中插入字符,python,insert,character,Python,Insert,Character,以下是我试图实现的目标:我想取代 void some_function(int, int *, float); 与 到目前为止,我已经尝试在循环字符串时用chr(97+I)替换“,” text = len("void some_function(int, int *, float);") i = 0 for j in range(0, length) if text[j] == ",": rep = " " + chr(97+i) + " .," tex

以下是我试图实现的目标:我想取代

void some_function(int,  int *, float);

到目前为止,我已经尝试在循环字符串时用chr(97+I)替换“,”

text = len("void some_function(int,  int *, float);")
i = 0
for j in range(0, length)
    if text[j] == ",":
       rep = " " + chr(97+i) + " .,"
       text = text.replace("," rep)
       i = i + 1
       j = 0 # resetting the index, but this time I want to find the next occurrence of "," which I am not sure

但这不是工作。如果有更好的方法,请告诉我。

最初的想法行不通,因为最后一个参数后面不是一个“,”而是一个“')”

import re

i = 96
def replace(matches):
    global i
    i += 1
    return " " + chr(i) + matches.group(0)

re.sub(',|\)', replace, "void some_function(int,  int *, float);")

您正在尝试用python折射C代码?我是python新手,不知道该怎么做!:(如果您试图重构泛型代码,这是一项非常重要的任务。请考虑函数参数跨越多行的情况。具有0或1个参数(无逗号)的情况。如何
void other_函数(void)
你不需要变量名的地方?如果你重构C代码,我认为你最好用一个好的代码文本编辑器来做这件事……答案不错,但应该注意的是,这只会工作一次,因为我是全局的。在那之后,你会得到d,e,f,g……直到它爆炸。我不知道C,但我想知道,有a不是一个问题结果中*和b之间的速度?@BrtH:Nope:
int*b
int*b
int*b
,甚至
int*b
都正确地回答了OP非常具体的情况,但对于
fix('joefunc()')
fix('joefunc(void)
)等问题仍然失败。这不是对答案的挖掘,只是OP的一个注释。
import re

i = 96
def replace(matches):
    global i
    i += 1
    return " " + chr(i) + matches.group(0)

re.sub(',|\)', replace, "void some_function(int,  int *, float);")
text = "void some_function(int,  int *, float);".replace(',', '%s,') % (' a', 'b')
import re
import string

def fix(text):
    n = len(re.findall('[,(]', text))
    return re.sub('([,)])', ' %s\\1', text) % tuple(string.letters[:n])