2013-01-24 27 views
5

लौटाया मैं सबमिट फ़ाइल नाम साफ करने की कोशिश कर रहा हूँ।कोल्डफ्यूजन replacelist reorders स्ट्रिंग

मैं replacelist(filename,"',##,&, ",",,and,-") उपयोग कर रहा हूँ

  • निकाल देना चाहिए जो ' और #
  • की जगह &and साथ
  • - साथ रिक्त स्थान की जगह।

जब "apost's & pound#.JPG" दिया, बजाय लौटने की:

"aposts-and-pound.jpg" 

replaceList रिटर्न:

"apostandspound-.JPG" 

मैं ColdFusion 10

+1

एक 1st टाइमर से एक अच्छा सवाल के लिए +1। Stackoverflow में आपका स्वागत है :) – Leigh

उत्तर

8

यह नहीं पुन: क्रम का उपयोग कर रहा है - यह वजह से है सीएफ सूची प्रसंस्करण कैसे काम करता है - खाली तत्वों को अनदेखा/हटा दिया जाता है।

कुछ सूची ~ स्ट्रिंग प्रसंस्करण कार्यों में इस व्यवहार को बदलने के लिए एक अतिरिक्त तर्क है (यानी रिक्त तत्वों को खाली स्ट्रिंग के रूप में मानें), लेकिन प्रतिस्थापन सूची प्रकट नहीं होती है।

आप प्रतिस्थापन के लिए एक अलग कदम में निष्कासन करके इस का समाधान कर सकते हैं:

<cfset NewFilename = rereplace(Filename,"['##]","","all") /> 
<cfset NewFilename = replacelist(NewFilename,"&, ","and,-") /> 

या

replacelist(rereplace(filename,"['##]","","all") , "&, " , "and,-") 
+0

आप 'शॉर्टलिस्ट'), @ पीटर में उस शॉर्टगॉल के लिए एक वृद्धि अनुरोध उठाना चाहते हैं? –

+0

यहां आप यहां जाएं: https://bugbase.adobe.com/index.cfm?event=bug&id=3489021 –

+2

हम्म, रेलो के लिए भी एक मुद्दा उठाने वाला था, लेकिन ऐसा लगता है कि यह पहले से ही अपेक्षित व्यवहार करता है (कोई भी शामिल नहीं है फ़ील्ड आवश्यक)। अब मुझे नहीं पता कि यह एक संगतता मुद्दा उठाने के लायक है, यह देखते हुए कि यह लगभग निश्चित रूप से पसंदीदा व्यवहार है और उम्मीद है कि सीएफ के साथ बदलना होगा? :/ –

 संबंधित मुद्दे

  • कोई संबंधित समस्या नहीं^_^