Trim, Mid, 替换, len 为 ~ 字符后 space 后面的单词
Trim, Mid, substitute, len for the word following the space after a ~ character
我有各种长度和单词位置不同的字符串。然而,模式是,每次找到前面带有“~”的单词时,我都需要将单词拉到它后面的 space 之后。我对中、左、右等功能研究了很多,但仍然无法得出我需要的结果。
这里有 2 个字符串示例:
- 交易费:已售出 -1 1/1/2/2 ~IRON_CONDOR MA 100 18 MAR 22 385/390/305/300 CALL/PUT @2.37
- 交易费用:BOT +1 ~VERTICAL
ANTM 100(每周)22 年 3 月 4 日 480/485 CALL @.63
对于数字 1,结果应该是“MA”。对于数字 2,“ANTM”应该是结果。
下面的两个公式似乎让我接近我正在寻找的东西,但我无法连接最终结果,因为我对它们了解不够。我的试验经常出错哈哈erg.
=MID(A2,FIND("~",A2)+1,FIND(" ",A2,FIND(" ",A2)+1)-FIND(" ",A2)) '//This doesn't work because it returns "Iron_" for number 1 and "Verti" for number 2
=TRIM(MID(SUBSTITUTE(TRIM($A2)," ",REPT(" ",LEN($A2))), (7-1)*LEN($A2)+1, LEN($A2))) '//This doesn't work because the word needed isn't always the 7th word.
=TRIM(MID(SUBSTITUTE(A2," ",REPT(" ",99)),MAX(1,FIND("~",SUBSTITUTE(A2," ",REPT(" ",99)))-50),99)) '//This returns the word that starts with the "~", but I need the word following it
我正在寻找一个有效的公式,它将首先搜索以波浪号“~”开头的单词位置,然后 return 之后 space 之后的单词。
有熟悉这方面的人可以提供可行的解决方案吗?
在B2
中,公式复制下来:
=TRIM(MID(SUBSTITUTE(MID(A2,FIND("~",A2),99)," ",REPT(" ",99)),99,99))
并且,
你的第三个公式可以修改为这个以获得目标结果:
=TRIM(MID(SUBSTITUTE($A2," ",REPT(" ",99)),MAX(1,FIND("~",SUBSTITUTE($A2," ",REPT(" ",99)))+99),99))
试试这个:
=LEFT(MID(RIGHT(A1,LEN(A1)-FIND("~",A1)),FIND(" ",RIGHT(A1,LEN(A1)-FIND("~",A1)+1)),LEN(A1)),FIND(" ",MID(RIGHT(A1,LEN(A1)-FIND("~",A1)),FIND(" ",RIGHT(A1,LEN(A1)-FIND("~",A1)+1)),LEN(A1))))
我有各种长度和单词位置不同的字符串。然而,模式是,每次找到前面带有“~”的单词时,我都需要将单词拉到它后面的 space 之后。我对中、左、右等功能研究了很多,但仍然无法得出我需要的结果。
这里有 2 个字符串示例:
- 交易费:已售出 -1 1/1/2/2 ~IRON_CONDOR MA 100 18 MAR 22 385/390/305/300 CALL/PUT @2.37
- 交易费用:BOT +1 ~VERTICAL ANTM 100(每周)22 年 3 月 4 日 480/485 CALL @.63
对于数字 1,结果应该是“MA”。对于数字 2,“ANTM”应该是结果。
下面的两个公式似乎让我接近我正在寻找的东西,但我无法连接最终结果,因为我对它们了解不够。我的试验经常出错哈哈erg.
=MID(A2,FIND("~",A2)+1,FIND(" ",A2,FIND(" ",A2)+1)-FIND(" ",A2)) '//This doesn't work because it returns "Iron_" for number 1 and "Verti" for number 2
=TRIM(MID(SUBSTITUTE(TRIM($A2)," ",REPT(" ",LEN($A2))), (7-1)*LEN($A2)+1, LEN($A2))) '//This doesn't work because the word needed isn't always the 7th word.
=TRIM(MID(SUBSTITUTE(A2," ",REPT(" ",99)),MAX(1,FIND("~",SUBSTITUTE(A2," ",REPT(" ",99)))-50),99)) '//This returns the word that starts with the "~", but I need the word following it
我正在寻找一个有效的公式,它将首先搜索以波浪号“~”开头的单词位置,然后 return 之后 space 之后的单词。
有熟悉这方面的人可以提供可行的解决方案吗?
在B2
中,公式复制下来:
=TRIM(MID(SUBSTITUTE(MID(A2,FIND("~",A2),99)," ",REPT(" ",99)),99,99))
并且,
你的第三个公式可以修改为这个以获得目标结果:
=TRIM(MID(SUBSTITUTE($A2," ",REPT(" ",99)),MAX(1,FIND("~",SUBSTITUTE($A2," ",REPT(" ",99)))+99),99))
试试这个:
=LEFT(MID(RIGHT(A1,LEN(A1)-FIND("~",A1)),FIND(" ",RIGHT(A1,LEN(A1)-FIND("~",A1)+1)),LEN(A1)),FIND(" ",MID(RIGHT(A1,LEN(A1)-FIND("~",A1)),FIND(" ",RIGHT(A1,LEN(A1)-FIND("~",A1)+1)),LEN(A1))))