如何按空格和单词列表拆分字符串

花园

假设我有以下字符串:

"USD Notional Amount: USD 50,000,000.00"
"USD Fixed Rate Payer Currency Amount: USD 10,000,000"
"USD Fixed Rate Payer Payment Dates: Annually"
"KRW Fixed Rate Payer Payment Dates: Annually"

简单来说,使用split函数

df = pd.DataFrame(["USD Notional Amount: USD 50,000,000.00"
                   ,"USD Fixed Rate Payer Currency Amount: USD 10,000,000"
                   ,"USD Fixed Rate Payer Payment Dates: Annually"
                   ,"KRW Fixed Rate Payer Payment Dates: Annually"])

df[0].apply(lambda x: x.split())

[输出]

0    [USD, Notional, Amount:, USD, 50,000,000.00]                 
1    [USD, Fixed, Rate, Payer, Currency, Amount:, USD, 10,000,000]
2    [USD, Fixed, Rate, Payer, Payment, Dates:, Annually]         
3    [KRW, Fixed, Rate, Payer, Payment, Dates:, Annually]    

我想要保留复合词列表

words_list = ["Notional Amount:","Fixed Rate Payer Currency Amount:","Fixed Rate Payer Payment Dates:"]

我想要的是将字符串拆分为字符串数组,如下所示:

["USD","Notional Amount:","USD", "50,000,000.00"]
["USD","Fixed Rate Payer Currency Amount:","USD","10,000,000"]
["USD","Fixed Rate Payer Payment Dates:","Annually"]
["KRW","Fixed Rate Payer Payment Dates:","Annually"]

当我拆分这个字符串时,我想保留一些单词,因为它并不总是按空格拆分。任何人都知道如何在 Python 中进行这种字符串拆分?有什么想法吗?

阿肯尼斯

正如 Xhattam 所说,可能没有通用的方法来做你的事情。

但是,假设您知道不想拆分哪些带有空格的字符串,则可以执行以下操作(从您的示例中):

test = "USD Notional Amount: USD 50,000,000.00"
a = ['Notional Amount:', 'Fixed Rate Payer Currency Amount:', 'Fixed Rate Payer Payment Dates:', 'Fixed Rate Payer Payment Dates:']

for element in a:
    if element in test:
        # Do this to strip your string from the list
        my_list = test.replace(element, '') 
        # Do this to replace double space by simple space following the word stripping
        my_list = test.replace('  ', ' ')
        # Insert the element you striped in the list at the wanted index
        my_list.insert(1, element)
        break

现在您应该能够打印 my_list 并获得以下结果:

print(my_list)
['USD', 'Notional Amount:', 'USD', '50,000,000.00']

这是一个特定示例,您可以轻松适应其他字符串。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何按单词拆分字符串?

如何将字符串拆分为单词、标点符号和空格的列表?(考虑撇号)

按空格在列表列表中拆分字符串

拆分字符串>单词和字符子列表的列表

如何将字符串拆分为单词和空格?

按空格和换行符拆分字符串

如何按字符和行长拆分字符串,而不中断单词?

如何用空格字符在列表中拆分字符串

如何使用带有空格的python在字符串中拆分中文单词和英文单词?

使用空格将字符串拆分为单词并使用python将它们存储在列表中

在JavaScript中将字符串拆分为单词,标点和空格的数组

通过多个参数将字符串拆分为单词,例如空格和“-”

如何按空格拆分字符串并删除非 ASCII 字符?

如何在 TSQL 中按空格字符拆分字符串

如何按单词拆分字符串列表并将其转换为子列表?

如何将对象列表拆分为按元素分组的子列表(日期时间和字符串)C#

如何拆分和删除列表中的字符串?

如何使用单词列表中的任何单词拆分字符串

按空格将字符串列表拆分为列

按空格将字符串拆分为数组

Split方法按包含空格的字符串拆分

按空格拆分字符串,如果单词字符少于 2 个,则将其设为单个单词,否则为两个单词

如何按空格分割字符串

如何按空格拆分一行以使字符串不拆分为每个字符?

如何通过避免转义引号按双引号单词拆分字符串

按空格拆分 c# 的函数是按字符拆分字符串

按带有逗号和分号的字符串拆分为列表列表 Python

如何按空格分割字符串的字符,然後按特殊字符和數字分割列表的結果元素,然後再次加入它們?

将字符串拆分为单词和分隔符列表