R 如何从长字符串中提取字符串

R 如何从长字符串中提取字符串,r,python-3.x,R,Python 3.x,我正在努力从一个长字符串中提取字符串,这个长字符串是使用python或R的csv文件的一行 "Zhao, Sihai@Univ Penn::Cai, T. Tony@Univ Penn::Li, Hongzhe@Univ Penn" 结果应该是 "Zhao, Sihai" "Cai, T. Tony" "Li, Hongzhe" Python: tmp_str = "Zhao, Sihai@Univ Penn::Cai, T. Tony@Univ Penn::Li, Hongzhe@Univ

我正在努力从一个长字符串中提取字符串,这个长字符串是使用python或R的csv文件的一行

"Zhao, Sihai@Univ Penn::Cai, T. Tony@Univ Penn::Li, Hongzhe@Univ Penn"
结果应该是

"Zhao, Sihai" "Cai, T. Tony" "Li, Hongzhe"
Python:

tmp_str = "Zhao, Sihai@Univ Penn::Cai, T. Tony@Univ Penn::Li, Hongzhe@Univ Penn"
names = [s.split("@")[0] for s in tmp_str.split("::")]
print(names)
输出是
['Zhao,Sihai','Cai,T.Tony','Li,Hongzhe']

Python:

tmp_str = "Zhao, Sihai@Univ Penn::Cai, T. Tony@Univ Penn::Li, Hongzhe@Univ Penn"
names = [s.split("@")[0] for s in tmp_str.split("::")]
print(names)
输出是
['Zhao,Sihai','Cai,T.Tony','Li,Hongzhe']

这对你来说够了吗?
输入:

str = "Zhao, Sihai@Univ Penn::Cai, T. Tony@Univ Penn::Li, Hongzhe@Univ Penn"
parsed = x.replace('@Univ Penn','').split("::")
print(parsed)
['Zhao, Sihai', 'Cai, T. Tony', 'Li, Hongzhe']
输出:

str = "Zhao, Sihai@Univ Penn::Cai, T. Tony@Univ Penn::Li, Hongzhe@Univ Penn"
parsed = x.replace('@Univ Penn','').split("::")
print(parsed)
['Zhao, Sihai', 'Cai, T. Tony', 'Li, Hongzhe']

这对你来说够了吗?
输入:

str = "Zhao, Sihai@Univ Penn::Cai, T. Tony@Univ Penn::Li, Hongzhe@Univ Penn"
parsed = x.replace('@Univ Penn','').split("::")
print(parsed)
['Zhao, Sihai', 'Cai, T. Tony', 'Li, Hongzhe']
输出:

str = "Zhao, Sihai@Univ Penn::Cai, T. Tony@Univ Penn::Li, Hongzhe@Univ Penn"
parsed = x.replace('@Univ Penn','').split("::")
print(parsed)
['Zhao, Sihai', 'Cai, T. Tony', 'Li, Hongzhe']
在R里你能做什么

a <- "Zhao, Sihai@Univ Penn::Cai, T. Tony@Univ Penn::Li, Hongzhe@Univ Penn"

sub('(^.+)@.*$', '\\1', unlist(strsplit(a, '::')))
#[1] "Zhao, Sihai"  "Cai, T. Tony" "Li, Hongzhe" 
a在R中你可以做什么

a <- "Zhao, Sihai@Univ Penn::Cai, T. Tony@Univ Penn::Li, Hongzhe@Univ Penn"

sub('(^.+)@.*$', '\\1', unlist(strsplit(a, '::')))
#[1] "Zhao, Sihai"  "Cai, T. Tony" "Li, Hongzhe" 

a输入

 s = "Zhao, Sihai@Univ Penn::Cai, T. Tony@Univ Penn::Li, Hongzhe@Univ Penn"
l=s.replace('@Univ Penn','').split("::")
s=str(l)
s2=s[1:-1]
print(s2)
输出

'Zhao, Sihai', 'Cai, T. Tony', 'Li, Hongzhe'

输入

 s = "Zhao, Sihai@Univ Penn::Cai, T. Tony@Univ Penn::Li, Hongzhe@Univ Penn"
l=s.replace('@Univ Penn','').split("::")
s=str(l)
s2=s[1:-1]
print(s2)
输出

'Zhao, Sihai', 'Cai, T. Tony', 'Li, Hongzhe'

没有指定一种编程语言的问题通常被认为过于宽泛。您想用R或Python来实现这一点吗?您同时指定了这两个字符串。要查找的字符串的条件是什么?从技术上讲,我可以通过用手工编码的索引分割字符串来解决这个问题,但这并不能推广。总的来说,你想保留什么?还有,您想拒绝什么?不指定单一编程语言的问题通常被认为过于宽泛。您想在R或Python中这样做吗?您同时指定了这两个字符串。要查找的字符串的条件是什么?从技术上讲,我可以通过用手工编码的索引分割字符串来解决这个问题,但这并不能推广。总的来说,你想保留什么?你想拒绝什么?