2017-06-28 72 views
1

嗨我嘗試有一些用戶輸入的字符串,如果字符串有引號(不知道單/雙)怎麼辦?如何處理帶引號的字符串

具體來說,我想存儲在一個字符串一些R代碼裏面,例如,

x = 'a' 
y = "b" 

我怎麼這個代碼存儲在一個字符串(以後我會用eval(parse(text=x))執行它)


更新:

如果要求用戶把串在readline()提示,R會自動修復引號:

> readline() 
123, "4", '56' 
[1] "123, \"4\", '56'" 

我期待在如何讓用戶粘貼多行

+3

「*以後我會用eval來執行它*」爲什麼? R不是一種宏觀語言。 – thelatemail

+0

'eval(parse(text = x))'你的意思是 – amonk

+0

@thelatemail謝謝。具體的上下文是,我們有一個用戶可以執行R腳本的軟件。但開發人員告訴我們,我們必須使用'<-'而不是'='。我嘗試將我的代碼存儲爲一個字符串,並進行替換,並執行'eval(parse(text = x))'(你是對的@amonk謝謝 - ) –

回答

2

必須要麼逃避報價

x = '\'a\'' 
y = "\"b\"" 

或者字符串存儲在要存儲

引號的替代
x = "'a'" 
y = '"b"' 
+0

謝謝@Conor - 如果你不知道用戶要放什麼,有什麼辦法嗎? –

+0

你正在使用什麼庫來接受輸入將自動處理轉義。 – Conor

-2

我覺得你講有關: -

x = '"' + "Your String" + '"'; 
相關問題