2012-04-30 23 views
5

के साथ स्ट्रिंग concatenation मैं तारों को जोड़ना चाहता हूँ। मैं strcat उपयोग करने की कोशिश:रिक्त स्थान

x = 5; 
m = strcat('is', num2str(x)) 

लेकिन यह कार्य प्रत्येक स्ट्रिंग से सफेद-अंतरिक्ष पात्रों अनुगामी निकाल देता है। क्या स्ट्रिंग कॉन्सटेनेशन करने के लिए कोई अन्य MATLAB फ़ंक्शन है जो पिछली श्वेत-स्थान को बनाए रखता है? वैकल्पिक रूप से

>> strcat('one ','two') 
ans = 
onetwo 
>> horzcat('one ','two') 
ans = 
one two 

, अगर आप स्ट्रिंग में संख्या प्रतिस्थापन करने जा रहे हैं, यह sprintf उपयोग करने के लिए बेहतर हो सकता है:

उत्तर

12

आप horzcat बजाय strcat उपयोग कर सकते हैं

>> x = 5; 
>> sprintf('is %d',x) 
ans = 
is 5 
-2

क्या रिक्त स्थान क्या यह ध्यान में नहीं आता है? केवल रिक्त स्थान जिनके बारे में आपने उल्लेख नहीं किया है! क्या आपका मतलब था:

m = strcat(' is ',num2str(x)) 

शायद?

मैटलैब अनुमान लगाने वाला नहीं है (ए) कि आप रिक्त स्थान चाहते हैं या (बी) रिक्त स्थान कहां रखना चाहते हैं।

+0

उस स्थान को आपने वहां रखा है, तो अगर आप स्ट्रैट का उपयोग करते हैं तो उसे छीन लिया जाएगा –

2

strcat documentation पर अंतिम उदाहरण पर एक नज़र डालें: क्षैतिज सरणी के बजाय concatination strcat प्रयोग करके देखें:,

m = ['is ', num2str(x)] 
इसके अलावा

स्ट्रिंग स्वरूपण बारे में अधिक जानकारी के लिए sprintf पर एक नजर है (प्रमुख/अवांछित स्पेस आदि ।)।

4

कैसे

के बारे में
strcat({' is '},{num2str(5)}) 

कि देता है

' is 5' 
2

कैसे strjoin का उपयोग कर के बारे में?

x = 5; 
m ={'is', num2str(x)}; 
strjoin(m, ' ') 
संबंधित मुद्दे