python插入到字符串的中间

时间:2017-05-17 05:45:47

标签: python string insert

我是蟒蛇新手,有一本书,玩耍,所以请善待。主要是我一直在玩ASCII艺术

我想要做的是将一些艺术藏在某些文字中。所以说我有一个字符串打印出“单词”,我想要做的是编写一个函数,帮助我将一个字符插入到该单词的中间,无论该单词有多长,它总是把我的艺术角色放到中间这个词。所以我的输出将是 '字'。 我到目前为止开始的是:

def dashinsert(str):
    return str[:2] + '-' + str[2:]

我知道这不是它所需要的地方,而且我只是一个初学者,但任何看起来的方向都很受欢迎,我不确定我是否做了一些正确的

我的目标是从中学习,然后将随机字符插入到不同位置的单词中,以便在文本中进行艺术创作。即我输入一个段落,艺术作为一个功能插入自己。现在我只是想把这个插入部分放下来

3 个答案:

答案 0 :(得分:5)

使用双斜杠进行整数除法

def dashinsert(str):
    midPoint = len(str)//2
    return str[:midPoint] + '-' + str[midPoint:]

答案 1 :(得分:2)

def insert_string(org_string, string, pos=None):
    # default position middle of org_string
    if pos is None:
        pos = len(org_string) / 2
    return org_string[:pos] + string + org_string[pos:]


if __name__ == "__main__":
    new_string = insert_string("world", "-")
    print new_string

输出

wo-rd

答案 2 :(得分:0)

你有一个良好的开端!我的Python上有点生疏,但你可以尝试添加一个位置参数来改变字符串里面插入破折号的位置(现在,它被硬编码为位置2:

Option Explicit

Sub cont()
    Application.Volatile

    Dim sht As Worksheet
    Dim myRange As Variant
    Dim Rng As Range
    Dim Lastrow, ecol, eRow As Integer
    Dim station As String
    Dim wb As Workbook, wb2 As Workbook

    Set wb = ActiveWorkbook
    wb.Sheets("Nov").Activate

    eRow = Cells(Rows.Count, 2).End(xlUp).Row
    station = Range("B2").Value
    Range(Cells(2, 2), Cells(eRow, 2)).Copy
    MsgBox "Transfer data for station: " & station

    On Error GoTo 0

    wb.Sheets("Nov Template").Activate
    Set sht = ActiveWorkbook.Sheets("Nov Template")
    ecol = sht.UsedRange.Columns.Count

    sht.Range(Cells(1, 2), Cells(eRow, 2)).PasteSpecial xlPasteValues
    With ActiveSheet.UsedRange
        Lastrow = .Rows(.Rows.Count).Row
        Set Rng = Range(Cells(1, "C"), Cells(Lastrow, ecol))
        myRange = sht.Rng.Value
    End With

    Workbooks.Open "G:\Mean2std\Merge NDj (2).xlsm"
    Set wb2 = ActiveWorkbook
    wb2.Worksheets("GM").Range("B3:AO32").Value = myRange
    wb2.Close SaveChanges:=True
End Sub

或者,也许您想要改变您插入的角色类型:

def dashinsert(str, position):
    length = len(str)
    if (position > length or position < 0):
         return str
    return str[:position] + '-' + str[position:]

或者,也许你想随机化插入角色的位置:

def characterinsert(str, position, insertion):
    length = len(str)
    if (position > length or position < 0):
         return str
    return str[:position] + insertion + str[position:]

然后,您可以使用** kwargs * args 来处理更高级的方法,以改变传递给函数的参数。关于这两个概念,这是一个很好的tutorial to start learning