2013-08-12 55 views
0

我正在嘗試使用sprintf創建ulr。要打開各種網站,我使用sprintf更改了部分網址。現在下面的代碼寫入3次url替換部分url的任意信息????有什麼建議嗎?非常感謝!使用sprintf創建url創建錯誤的url

current_stock = 'AAPL'; 

current_url = sprintf('http://www.finviz.com/quote.ashx?t=%d&ty=c&ta=0&p=d',current_stock) 
web(current_url, '-browser') 

%d應該是appl的holer。結果是:

http://www.finviz.com/quote.ashx?t=65&ty=c&ta=0&p=dhttp://www.finviz.com/quote.ashx?t=65&ty=c&ta=0&p=dhttp://www.finviz.com/quote.ashx?t=80&ty=c&ta=0&p=dhttp://www.finviz.com/quote.ashx?t=76&ty=c&ta=0&p=d 
+0

你可以發佈你期待的結果嗎? – fpe

回答

3

我不確定你爲什麼使用%d作爲顯式字符串的值?你應該使用%s

你看到你所看到的原因是它似乎給你一個的格式字符串的副本AAPL字符串中。

你可以看到不同的?t=XX位僅在於,與XX之中,按順序排列,65,65,80和76,在你的字符串中的四個字母的ASCII代碼:

        vv 
http://www.finviz.com/quote.ashx?t=65&ty=c&ta=0&p=d 
http://www.finviz.com/quote.ashx?t=65&ty=c&ta=0&p=d 
http://www.finviz.com/quote.ashx?t=80&ty=c&ta=0&p=d 
http://www.finviz.com/quote.ashx?t=76&ty=c&ta=0&p=d 
            ^^ 

無論這是MatLab (a)中的一個功能或錯誤,我無法確定,但我懷疑它會自行修復,如果您只使用正確的格式說明符。


(一)這可能是一個功能,因爲它同樣智能的東西與其他不匹配,按here

如果你申請一個字符串轉換(%s)到整數值,MATLAB將對應於有效字符代碼的值轉換爲字符。例如,'%s'[65 66 67]轉換爲ABC

+0

非常感謝您的幫助! –

0

我會按照這個簡單的方法:

current_stock = 'AAPL'; 
current_url = ['http://www.finviz.com/quote.ashx?t=%d&ty=c&ta=0&p=d',current_stock]; 
web(current_url,'-browser') 

這重定向我到一個有效的網頁。

+0

看起來Dominion Resources正在調整銷售! –