2012-01-25 15 views
12

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

मैं एक साधारण समस्या के साथ फंस गया हूँ।

स्ट्रिंग उपयोगकर्ता नाम में पहले अक्षर को कैसे पढ़ा जाए। मैंने [0] ऑपरेशन सहित कई रणनीतियों की कोशिश की है, लेकिन यह एक अपवाद फेंकता है। यहाँ कोड

{% for i in ['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z','0-9'] %} 
     {% set has_user_starting_with_alphabet = false %} 
     {% for user in pagination %} 
       {% if user.name[0]|lower == i %} 
         {% set has_user_starting_with_alphabet = true %} 
       {% endif %} 
     {% endfor %} 
     {% if has_user_starting_with_alphabet %} 
       <li><a href="{{ path(app.request.get('_route'), { 'search_key' : i}) }}"><span>{{ i }}</span></a></li> 
     {% endif %} 
{% endfor %} 

है वहाँ "starts_with" टहनी में जैसे कुछ कार्य है? पुराने संस्करण के लिए

{% if user.name|first|lower == i %} 

आप slice उपयोग कर सकते हैं:

उत्तर

30

टहनी 1.12.2 जब से तुम first उपयोग कर सकते हैं

{% if user.name|slice(0, 1)|lower == i %} 
4

नोट:

: इस संकेतन का उपयोग कर सकते हैं

{% if user.name[:1]|lower == i %}

+0

सवाल का जवाब नहीं देता है। – amphetamachine

+2

वह पूछता है कि स्ट्रिंग का पहला अक्षर कैसे प्राप्त करें। 'user.name [: 1] 'वह असाधारण है। – loostro

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