如何在R中进行多个查找?

如何在R中进行多个查找?,r,R,所以我有这样的kit.txt文件(都在一行上): 我有这样的stores.txt(都在一行中): 我的area.txt如下(每行一行): 我想做的是,对于kit.txt中的每一行,应该在stores.txt(大括号中的第一列)中查找kit.txt中的ID。如果ID存在,则应在area.txt中查找stores.txt中的标题(哈希符号前的文本)。如果标题存在于area.txt中,则应将其输出到如下文件中,并显示标题、存储ID和区域ID(每行一行): 如图所示,使用引号和逗号。所以只包括拍卖和日出

所以我有这样的kit.txt文件(都在一行上):

我有这样的stores.txt(都在一行中):

我的area.txt如下(每行一行):

我想做的是,对于kit.txt中的每一行,应该在stores.txt(大括号中的第一列)中查找kit.txt中的ID。如果ID存在,则应在area.txt中查找stores.txt中的标题(哈希符号前的文本)。如果标题存在于area.txt中,则应将其输出到如下文件中,并显示标题、存储ID和区域ID(每行一行):

如图所示,使用引号和逗号。所以只包括拍卖和日出,因为kit.txt和stores.txt中都只包含它们

我在R怎么做


谢谢。

您需要对所有文件执行一些清理,以便它们的格式可用

library(dplyr)
library(tidyr)

#Read and clean 'kit.txt'
read.table('kit.txt', sep = ';') %>%
  separate_rows(V1, sep = ',\\s+') %>%
  separate(V1, c('V1', 'V2'), sep = '#') %>%
  mutate(V2 = sub(',$', '', V2)) -> d1

d1
# A tibble: 4 x 2
#  V1      V2   
#  <chr>   <chr>
#1 bbc_a   22292
#2 bbc_b   22293
#3 desert8 5394 
#4 city4   2525 

#Read and clean 'stores.txt'
read.table('stores.txt', sep = '@') %>%
  separate_rows(V1, sep = ',\\s\\[') %>%
  separate(V1, c('V1', 'V2'), sep = '\\s=\\s') %>%
  separate_rows(V2, sep = ',\\s') %>%
  mutate(V2 = gsub('\\{|\\}', '', V2), 
         V1 = trimws(gsub('\\[|\\]', '', V1))) %>%
  separate(V2, c('V2', 'V3'), sep = '#') %>%
  mutate(V3 = sub(',$', '',V3)) -> d2

d2
#   V1     V2                     V3    
#  <chr>  <chr>                  <chr> 
#1 22292  bbc/images/auction.jpg 567482
#2 22292  bbc/images/station.jpg 517482
#3 5394   bbc/images/sunrise.jpg 567499
#4 432112 bbc/images/sunset.mp3  53209 
#5 432112 bbc/images/alert.mp3   51109 

#read area.txt
d3 <- read.table('area.txt', sep = ';')

d3
#                      V1 V2
#1 bbc/images/auction.jpg 52
#2 bbc/images/sunrise.jpg 38
#3   bbc/images/stars.jpg 46

#combine d1, d2 and d3
d1 %>%
  inner_join(d2, by = c('V2' = 'V1')) %>%
  inner_join(d3, by = c('V2.y' = 'V1')) -> result

result

# A tibble: 2 x 5
#  V1      V2.x  V2.y                   V3     V2.y.y
#  <chr>   <chr> <chr>                  <chr>   <int>
#1 bbc_a   22292 bbc/images/auction.jpg 567482     52
#2 desert8 5394  bbc/images/sunrise.jpg 567499     38

#Write the file
cat(sprintf('"%s#%s#%s",', result$V2.y, result$V3, result$V2.y.y), file = 'result.lua', sep = '\n')
库(dplyr)
图书馆(tidyr)
#阅读并清理“kit.txt”
read.table('kit.txt',sep=';')%>%
单独的_行(V1,sep=',\\s+')%>%
单独(V1,c('V1','V2'),sep='#')%>%
突变(V2=sub(',$,'',V2))->d1
d1
#一个tibble:4x2
#V1 V2
#     
#1英国广播公司a 22292
#2 bbc_b 22293
#3.85394
#4城市4 2525
#读取并清除“stores.txt”
read.table('stores.txt',sep='@')%>%
单独的_行(V1,sep=',\\s\\[')%>%
单独(V1,c('V1','V2'),sep='\\s=\\s')%>%
单独的行(V2,sep=',\\s')%>%
突变(V2=gsub('\{124;\\}','',V2),
V1=trimws(gsub('\[\\]','',V1))%>%
单独(V2,c('V2','V3'),sep='#')%>%
突变(V3=sub(',$,'',V3))->d2
d2
#V1 V2 V3
#                       
#12292 bbc/images/auction.jpg 567482
#22292 bbc/images/station.jpg 517482
#35394 bbc/images/sunrise.jpg 567499
#432112 bbc/images/sunset.mp3 53209
#5 432112 bbc/images/alert.mp3 51109
#read area.txt
d3%
内部连接(d2,by=c('V2'='V1'))%>%
内部连接(d3,by=c('V2.y'='V1'))->结果
后果
#一个tibble:2x5
#V1 V2.x V2.y V3 V2.y.y
#                           
#1 bbc_a 22292 bbc/images/auction.jpg 567482 52
#2沙漠8 5394 bbc/images/sunrise.jpg 567499 38
#写文件
cat(sprintf(“%s#%s#%s”,”,结果$V2.y,结果$V3,结果$V2.y.y),文件='result.lua',sep='\n')

对于共享的示例,也可以在不使用
'kit.txt'
的情况下实现相同的输出。

您需要对所有文件执行一些清理,以便它们的格式可用

library(dplyr)
library(tidyr)

#Read and clean 'kit.txt'
read.table('kit.txt', sep = ';') %>%
  separate_rows(V1, sep = ',\\s+') %>%
  separate(V1, c('V1', 'V2'), sep = '#') %>%
  mutate(V2 = sub(',$', '', V2)) -> d1

d1
# A tibble: 4 x 2
#  V1      V2   
#  <chr>   <chr>
#1 bbc_a   22292
#2 bbc_b   22293
#3 desert8 5394 
#4 city4   2525 

#Read and clean 'stores.txt'
read.table('stores.txt', sep = '@') %>%
  separate_rows(V1, sep = ',\\s\\[') %>%
  separate(V1, c('V1', 'V2'), sep = '\\s=\\s') %>%
  separate_rows(V2, sep = ',\\s') %>%
  mutate(V2 = gsub('\\{|\\}', '', V2), 
         V1 = trimws(gsub('\\[|\\]', '', V1))) %>%
  separate(V2, c('V2', 'V3'), sep = '#') %>%
  mutate(V3 = sub(',$', '',V3)) -> d2

d2
#   V1     V2                     V3    
#  <chr>  <chr>                  <chr> 
#1 22292  bbc/images/auction.jpg 567482
#2 22292  bbc/images/station.jpg 517482
#3 5394   bbc/images/sunrise.jpg 567499
#4 432112 bbc/images/sunset.mp3  53209 
#5 432112 bbc/images/alert.mp3   51109 

#read area.txt
d3 <- read.table('area.txt', sep = ';')

d3
#                      V1 V2
#1 bbc/images/auction.jpg 52
#2 bbc/images/sunrise.jpg 38
#3   bbc/images/stars.jpg 46

#combine d1, d2 and d3
d1 %>%
  inner_join(d2, by = c('V2' = 'V1')) %>%
  inner_join(d3, by = c('V2.y' = 'V1')) -> result

result

# A tibble: 2 x 5
#  V1      V2.x  V2.y                   V3     V2.y.y
#  <chr>   <chr> <chr>                  <chr>   <int>
#1 bbc_a   22292 bbc/images/auction.jpg 567482     52
#2 desert8 5394  bbc/images/sunrise.jpg 567499     38

#Write the file
cat(sprintf('"%s#%s#%s",', result$V2.y, result$V3, result$V2.y.y), file = 'result.lua', sep = '\n')
库(dplyr)
图书馆(tidyr)
#阅读并清理“kit.txt”
read.table('kit.txt',sep=';')%>%
单独的_行(V1,sep=',\\s+')%>%
单独(V1,c('V1','V2'),sep='#')%>%
突变(V2=sub(',$,'',V2))->d1
d1
#一个tibble:4x2
#V1 V2
#     
#1英国广播公司a 22292
#2 bbc_b 22293
#3.85394
#4城市4 2525
#读取并清除“stores.txt”
read.table('stores.txt',sep='@')%>%
单独的_行(V1,sep=',\\s\\[')%>%
单独(V1,c('V1','V2'),sep='\\s=\\s')%>%
单独的行(V2,sep=',\\s')%>%
突变(V2=gsub('\{124;\\}','',V2),
V1=trimws(gsub('\[\\]','',V1))%>%
单独(V2,c('V2','V3'),sep='#')%>%
突变(V3=sub(',$,'',V3))->d2
d2
#V1 V2 V3
#                       
#12292 bbc/images/auction.jpg 567482
#22292 bbc/images/station.jpg 517482
#35394 bbc/images/sunrise.jpg 567499
#432112 bbc/images/sunset.mp3 53209
#5 432112 bbc/images/alert.mp3 51109
#read area.txt
d3%
内部连接(d2,by=c('V2'='V1'))%>%
内部连接(d3,by=c('V2.y'='V1'))->结果
后果
#一个tibble:2x5
#V1 V2.x V2.y V3 V2.y.y
#                           
#1 bbc_a 22292 bbc/images/auction.jpg 567482 52
#2沙漠8 5394 bbc/images/sunrise.jpg 567499 38
#写文件
cat(sprintf(“%s#%s#%s”,”,结果$V2.y,结果$V3,结果$V2.y.y),文件='result.lua',sep='\n')
对于共享的示例,不使用
'kit.txt'
也可以实现相同的输出。

以下是我的尝试

$ cat file1.txt
"bbc_a#22292", "bbc_b#22293", "desert8#5394", "city4#2525"
$ cat file2.txt
["22292"] = {"bbc/images/auction.jpg#567482"}, ["5394"] = {"bbc/images/sunrise.jpg#567499"}, ["432112"] = {"bbc/images/sunset.mp3#53209"}
$ cat file3.txt
bbc/images/auction.jpg;52
bbc/images/sunrise.jpg;38
bbc/images/stars.jpg;46



# Reading in the files as vectors.

v1 <- scan("file1.txt",what = character(),sep=",")
v2 <- scan("file2.txt",what=character(),sep=",")
v3 <- scan("file3.txt",what = character(),sep="\n")

# Making dataframes from the vectors

library(stringr)
df1 <- str_split_fixed(v1,"#",2)
df2 <- str_split_fixed(v2,"=",2)
df3 <- str_split_fixed(v3,";",2)


> df1
     [,1]       [,2]   
[1,] "bbc_a"    "22292"
[2,] " bbc_b"   "22293"
[3,] " desert8" "5394" 
[4,] " city4"   "2525" 
> df2
     [,1]         [,2]                              
[1,] "[22292] "   " {bbc/images/auction.jpg#567482}"
[2,] " [5394] "   " {bbc/images/sunrise.jpg#567499}"
[3,] " [432112] " " {bbc/images/sunset.mp3#53209}"  
> df3
     [,1]                     [,2]
[1,] "bbc/images/auction.jpg" "52"
[2,] "bbc/images/sunrise.jpg" "38"
[3,] "bbc/images/stars.jpg"   "46"
> 
library(dplyr)

df1 <- mutate_all(data.frame(df1),list(trimws))
> df1
       X1    X2
1   bbc_a 22292
2   bbc_b 22293
3 desert8  5394
4   city4  2525
> 

df2 <- mutate_all(data.frame(df2), list(trimws))
> df2
        X1                              X2
1  [22292] {bbc/images/auction.jpg#567482}
2   [5394] {bbc/images/sunrise.jpg#567499}
3 [432112]   {bbc/images/sunset.mp3#53209}
> 

df2 <- mutate_all(df2,str_sub,2,-2)
> df2
      X1                            X2
1  22292 bbc/images/auction.jpg#567482
2   5394 bbc/images/sunrise.jpg#567499
3 432112   bbc/images/sunset.mp3#53209
> 
df4 <- str_split_fixed(df2$X2,"#",2)
> df4
     [,1]                     [,2]    
[1,] "bbc/images/auction.jpg" "567482"
[2,] "bbc/images/sunrise.jpg" "567499"
[3,] "bbc/images/sunset.mp3"  "53209" 
> 
df2<- df2[,1]
df2 <- cbind(df2,df4)
> df2
     df2                                       
[1,] "22292"  "bbc/images/auction.jpg" "567482"
[2,] "5394"   "bbc/images/sunrise.jpg" "567499"
[3,] "432112" "bbc/images/sunset.mp3"  "53209" 
> 
kit <- as_tibble(df1)
colnames(df2)<-NULL
store <- as_tibble(df2)
area <- as_tibble(df3)
> kit
# A tibble: 4 x 2
  X1      X2   
  <chr>   <chr>
1 bbc_a   22292
2 bbc_b   22293
3 desert8 5394 
4 city4   2525 
> store
# A tibble: 3 x 3
  V1     V2                     V3    
  <chr>  <chr>                  <chr> 
1 22292  bbc/images/auction.jpg 567482
2 5394   bbc/images/sunrise.jpg 567499
3 432112 bbc/images/sunset.mp3  53209 
> area
# A tibble: 3 x 2
  V1                     V2   
  <chr>                  <chr>
1 bbc/images/auction.jpg 52   
2 bbc/images/sunrise.jpg 38   
3 bbc/images/stars.jpg   46   
> 
j1 <- inner_join(kit,store,by =c("X2"="V1"))

> j1
# A tibble: 2 x 4
  X1      X2    V2                     V3    
  <chr>   <chr> <chr>                  <chr> 
1 bbc_a   22292 bbc/images/auction.jpg 567482
2 desert8 5394  bbc/images/sunrise.jpg 567499
> 

j2 <- inner_join(j1,area,by = c("V2"="V1" ))

> j2
# A tibble: 2 x 5
  X1      X2    V2                     V3     V2.y 
  <chr>   <chr> <chr>                  <chr>  <chr>
1 bbc_a   22292 bbc/images/auction.jpg 567482 52   
2 desert8 5394  bbc/images/sunrise.jpg 567499 38   
> 
answer <- j2[,c(3:5)]
> answer
# A tibble: 2 x 3
  V2                     V3     V2.y 
  <chr>                  <chr>  <chr>
1 bbc/images/auction.jpg 567482 52   
2 bbc/images/sunrise.jpg 567499 38   
> 
colnames(answer)<- c("C1","C2","C3")

paste(answer$C1,answer$C2,answer$C3,sep="#")

[1] "bbc/images/auction.jpg#567482#52" "bbc/images/sunrise.jpg#567499#38
$cat file1.txt
“bbc#a#22292”、“bbc#b#22293”、“沙漠8#5394”、“城市4#2525”
$cat file2.txt
[“22292”]={“bbc/images/auction.jpg#567482”}、[“5394”]={“bbc/images/sunrise.jpg#567499”}、[“432112”]={“bbc/images/sunset.mp3#53209”}
$cat file3.txt
bbc/images/auction.jpg;52
bbc/images/sunrise.jpg;38
bbc/images/stars.jpg;46
#以向量形式读取文件。
v1
df2 df2
X1-X2
12292 bbc/images/auction.jpg#567482
25394 bbc/images/sunrise.jpg#567499
432112 bbc/images/sunset.mp3#53209
> 
df4 df4
[,1]                     [,2]    
[1,]“bbc/images/auction.jpg”“567482”
[2,]“bbc/images/sunrise.jpg”“567499”
[3,]“bbc/images/sunset.mp3”“53209”
> 
df2
配套元件
j1
#一个tibble:2x4
x1x2v2v3
1 bbc_a 22292 bbc/images/auction.jpg 567482
2.8 5394 bbc/images/sunrise.jpg 567499
> 
j2 j2
#一个tibble:2x5
x1x2v2v2.y
1 bbc_a 22292 bbc/images/auction.jpg 567482 52
2沙漠8 5394 bbc/images/sunrise.jpg 567499 38
> 
答覆
#一个tibble:2x3
V2.y
1 bbc/images/auction.jpg 567482 52
2 bbc/images/sunrise.jpg 567499 38
> 
colnames(答案)以下是我的尝试

$ cat file1.txt
"bbc_a#22292", "bbc_b#22293", "desert8#5394", "city4#2525"
$ cat file2.txt
["22292"] = {"bbc/images/auction.jpg#567482"}, ["5394"] = {"bbc/images/sunrise.jpg#567499"}, ["432112"] = {"bbc/images/sunset.mp3#53209"}
$ cat file3.txt
bbc/images/auction.jpg;52
bbc/images/sunrise.jpg;38
bbc/images/stars.jpg;46



# Reading in the files as vectors.

v1 <- scan("file1.txt",what = character(),sep=",")
v2 <- scan("file2.txt",what=character(),sep=",")
v3 <- scan("file3.txt",what = character(),sep="\n")

# Making dataframes from the vectors

library(stringr)
df1 <- str_split_fixed(v1,"#",2)
df2 <- str_split_fixed(v2,"=",2)
df3 <- str_split_fixed(v3,";",2)


> df1
     [,1]       [,2]   
[1,] "bbc_a"    "22292"
[2,] " bbc_b"   "22293"
[3,] " desert8" "5394" 
[4,] " city4"   "2525" 
> df2
     [,1]         [,2]                              
[1,] "[22292] "   " {bbc/images/auction.jpg#567482}"
[2,] " [5394] "   " {bbc/images/sunrise.jpg#567499}"
[3,] " [432112] " " {bbc/images/sunset.mp3#53209}"  
> df3
     [,1]                     [,2]
[1,] "bbc/images/auction.jpg" "52"
[2,] "bbc/images/sunrise.jpg" "38"
[3,] "bbc/images/stars.jpg"   "46"
> 
library(dplyr)

df1 <- mutate_all(data.frame(df1),list(trimws))
> df1
       X1    X2
1   bbc_a 22292
2   bbc_b 22293
3 desert8  5394
4   city4  2525
> 

df2 <- mutate_all(data.frame(df2), list(trimws))
> df2
        X1                              X2
1  [22292] {bbc/images/auction.jpg#567482}
2   [5394] {bbc/images/sunrise.jpg#567499}
3 [432112]   {bbc/images/sunset.mp3#53209}
> 

df2 <- mutate_all(df2,str_sub,2,-2)
> df2
      X1                            X2
1  22292 bbc/images/auction.jpg#567482
2   5394 bbc/images/sunrise.jpg#567499
3 432112   bbc/images/sunset.mp3#53209
> 
df4 <- str_split_fixed(df2$X2,"#",2)
> df4
     [,1]                     [,2]    
[1,] "bbc/images/auction.jpg" "567482"
[2,] "bbc/images/sunrise.jpg" "567499"
[3,] "bbc/images/sunset.mp3"  "53209" 
> 
df2<- df2[,1]
df2 <- cbind(df2,df4)
> df2
     df2                                       
[1,] "22292"  "bbc/images/auction.jpg" "567482"
[2,] "5394"   "bbc/images/sunrise.jpg" "567499"
[3,] "432112" "bbc/images/sunset.mp3"  "53209" 
> 
kit <- as_tibble(df1)
colnames(df2)<-NULL
store <- as_tibble(df2)
area <- as_tibble(df3)
> kit
# A tibble: 4 x 2
  X1      X2   
  <chr>   <chr>
1 bbc_a   22292
2 bbc_b   22293
3 desert8 5394 
4 city4   2525 
> store
# A tibble: 3 x 3
  V1     V2                     V3    
  <chr>  <chr>                  <chr> 
1 22292  bbc/images/auction.jpg 567482
2 5394   bbc/images/sunrise.jpg 567499
3 432112 bbc/images/sunset.mp3  53209 
> area
# A tibble: 3 x 2
  V1                     V2   
  <chr>                  <chr>
1 bbc/images/auction.jpg 52   
2 bbc/images/sunrise.jpg 38   
3 bbc/images/stars.jpg   46   
> 
j1 <- inner_join(kit,store,by =c("X2"="V1"))

> j1
# A tibble: 2 x 4
  X1      X2    V2                     V3    
  <chr>   <chr> <chr>                  <chr> 
1 bbc_a   22292 bbc/images/auction.jpg 567482
2 desert8 5394  bbc/images/sunrise.jpg 567499
> 

j2 <- inner_join(j1,area,by = c("V2"="V1" ))

> j2
# A tibble: 2 x 5
  X1      X2    V2                     V3     V2.y 
  <chr>   <chr> <chr>                  <chr>  <chr>
1 bbc_a   22292 bbc/images/auction.jpg 567482 52   
2 desert8 5394  bbc/images/sunrise.jpg 567499 38   
> 
answer <- j2[,c(3:5)]
> answer
# A tibble: 2 x 3
  V2                     V3     V2.y 
  <chr>                  <chr>  <chr>
1 bbc/images/auction.jpg 567482 52   
2 bbc/images/sunrise.jpg 567499 38   
> 
colnames(answer)<- c("C1","C2","C3")

paste(answer$C1,answer$C2,answer$C3,sep="#")

[1] "bbc/images/auction.jpg#567482#52" "bbc/images/sunrise.jpg#567499#38
$cat file1.txt
“bbc#a#22292”、“bbc#b#22293”、“沙漠8#5394”、“城市4#2525”
$cat file2.txt
[“22292”]={“bbc/images/auction.jpg#567482”}、[“5394”]={“bbc/images/sunrise.jpg#567499”}、[“432112”]={“bbc/images/sunset.mp3#53209”}
$cat file3.txt
bbc/images/auction.jpg;52
bbc/images/sunrise.jpg;38
bbc/images/stars.jpg;46
#以向量形式读取文件。
v1
df2 df2
X1-X2
12292 bbc/images/auction.jpg#567482
25394 bbc/images/sunrise.jpg#567499
432112 bbc/images/sunset.mp3#53209
> 
df4 df4
[,1]                     [,
library(dplyr)
library(tidyr)

#Read and clean 'kit.txt'
read.table('kit.txt', sep = ';') %>%
  separate_rows(V1, sep = ',\\s+') %>%
  separate(V1, c('V1', 'V2'), sep = '#') %>%
  mutate(V2 = sub(',$', '', V2)) -> d1

d1
# A tibble: 4 x 2
#  V1      V2   
#  <chr>   <chr>
#1 bbc_a   22292
#2 bbc_b   22293
#3 desert8 5394 
#4 city4   2525 

#Read and clean 'stores.txt'
read.table('stores.txt', sep = '@') %>%
  separate_rows(V1, sep = ',\\s\\[') %>%
  separate(V1, c('V1', 'V2'), sep = '\\s=\\s') %>%
  separate_rows(V2, sep = ',\\s') %>%
  mutate(V2 = gsub('\\{|\\}', '', V2), 
         V1 = trimws(gsub('\\[|\\]', '', V1))) %>%
  separate(V2, c('V2', 'V3'), sep = '#') %>%
  mutate(V3 = sub(',$', '',V3)) -> d2

d2
#   V1     V2                     V3    
#  <chr>  <chr>                  <chr> 
#1 22292  bbc/images/auction.jpg 567482
#2 22292  bbc/images/station.jpg 517482
#3 5394   bbc/images/sunrise.jpg 567499
#4 432112 bbc/images/sunset.mp3  53209 
#5 432112 bbc/images/alert.mp3   51109 

#read area.txt
d3 <- read.table('area.txt', sep = ';')

d3
#                      V1 V2
#1 bbc/images/auction.jpg 52
#2 bbc/images/sunrise.jpg 38
#3   bbc/images/stars.jpg 46

#combine d1, d2 and d3
d1 %>%
  inner_join(d2, by = c('V2' = 'V1')) %>%
  inner_join(d3, by = c('V2.y' = 'V1')) -> result

result

# A tibble: 2 x 5
#  V1      V2.x  V2.y                   V3     V2.y.y
#  <chr>   <chr> <chr>                  <chr>   <int>
#1 bbc_a   22292 bbc/images/auction.jpg 567482     52
#2 desert8 5394  bbc/images/sunrise.jpg 567499     38

#Write the file
cat(sprintf('"%s#%s#%s",', result$V2.y, result$V3, result$V2.y.y), file = 'result.lua', sep = '\n')
$ cat file1.txt
"bbc_a#22292", "bbc_b#22293", "desert8#5394", "city4#2525"
$ cat file2.txt
["22292"] = {"bbc/images/auction.jpg#567482"}, ["5394"] = {"bbc/images/sunrise.jpg#567499"}, ["432112"] = {"bbc/images/sunset.mp3#53209"}
$ cat file3.txt
bbc/images/auction.jpg;52
bbc/images/sunrise.jpg;38
bbc/images/stars.jpg;46



# Reading in the files as vectors.

v1 <- scan("file1.txt",what = character(),sep=",")
v2 <- scan("file2.txt",what=character(),sep=",")
v3 <- scan("file3.txt",what = character(),sep="\n")

# Making dataframes from the vectors

library(stringr)
df1 <- str_split_fixed(v1,"#",2)
df2 <- str_split_fixed(v2,"=",2)
df3 <- str_split_fixed(v3,";",2)


> df1
     [,1]       [,2]   
[1,] "bbc_a"    "22292"
[2,] " bbc_b"   "22293"
[3,] " desert8" "5394" 
[4,] " city4"   "2525" 
> df2
     [,1]         [,2]                              
[1,] "[22292] "   " {bbc/images/auction.jpg#567482}"
[2,] " [5394] "   " {bbc/images/sunrise.jpg#567499}"
[3,] " [432112] " " {bbc/images/sunset.mp3#53209}"  
> df3
     [,1]                     [,2]
[1,] "bbc/images/auction.jpg" "52"
[2,] "bbc/images/sunrise.jpg" "38"
[3,] "bbc/images/stars.jpg"   "46"
> 
library(dplyr)

df1 <- mutate_all(data.frame(df1),list(trimws))
> df1
       X1    X2
1   bbc_a 22292
2   bbc_b 22293
3 desert8  5394
4   city4  2525
> 

df2 <- mutate_all(data.frame(df2), list(trimws))
> df2
        X1                              X2
1  [22292] {bbc/images/auction.jpg#567482}
2   [5394] {bbc/images/sunrise.jpg#567499}
3 [432112]   {bbc/images/sunset.mp3#53209}
> 

df2 <- mutate_all(df2,str_sub,2,-2)
> df2
      X1                            X2
1  22292 bbc/images/auction.jpg#567482
2   5394 bbc/images/sunrise.jpg#567499
3 432112   bbc/images/sunset.mp3#53209
> 
df4 <- str_split_fixed(df2$X2,"#",2)
> df4
     [,1]                     [,2]    
[1,] "bbc/images/auction.jpg" "567482"
[2,] "bbc/images/sunrise.jpg" "567499"
[3,] "bbc/images/sunset.mp3"  "53209" 
> 
df2<- df2[,1]
df2 <- cbind(df2,df4)
> df2
     df2                                       
[1,] "22292"  "bbc/images/auction.jpg" "567482"
[2,] "5394"   "bbc/images/sunrise.jpg" "567499"
[3,] "432112" "bbc/images/sunset.mp3"  "53209" 
> 
kit <- as_tibble(df1)
colnames(df2)<-NULL
store <- as_tibble(df2)
area <- as_tibble(df3)
> kit
# A tibble: 4 x 2
  X1      X2   
  <chr>   <chr>
1 bbc_a   22292
2 bbc_b   22293
3 desert8 5394 
4 city4   2525 
> store
# A tibble: 3 x 3
  V1     V2                     V3    
  <chr>  <chr>                  <chr> 
1 22292  bbc/images/auction.jpg 567482
2 5394   bbc/images/sunrise.jpg 567499
3 432112 bbc/images/sunset.mp3  53209 
> area
# A tibble: 3 x 2
  V1                     V2   
  <chr>                  <chr>
1 bbc/images/auction.jpg 52   
2 bbc/images/sunrise.jpg 38   
3 bbc/images/stars.jpg   46   
> 
j1 <- inner_join(kit,store,by =c("X2"="V1"))

> j1
# A tibble: 2 x 4
  X1      X2    V2                     V3    
  <chr>   <chr> <chr>                  <chr> 
1 bbc_a   22292 bbc/images/auction.jpg 567482
2 desert8 5394  bbc/images/sunrise.jpg 567499
> 

j2 <- inner_join(j1,area,by = c("V2"="V1" ))

> j2
# A tibble: 2 x 5
  X1      X2    V2                     V3     V2.y 
  <chr>   <chr> <chr>                  <chr>  <chr>
1 bbc_a   22292 bbc/images/auction.jpg 567482 52   
2 desert8 5394  bbc/images/sunrise.jpg 567499 38   
> 
answer <- j2[,c(3:5)]
> answer
# A tibble: 2 x 3
  V2                     V3     V2.y 
  <chr>                  <chr>  <chr>
1 bbc/images/auction.jpg 567482 52   
2 bbc/images/sunrise.jpg 567499 38   
> 
colnames(answer)<- c("C1","C2","C3")

paste(answer$C1,answer$C2,answer$C3,sep="#")

[1] "bbc/images/auction.jpg#567482#52" "bbc/images/sunrise.jpg#567499#38