Replace special characters in XSLT

后端 未结 3 1586
爱一瞬间的悲伤
爱一瞬间的悲伤 2020-11-29 11:42

I want to remove characters other than alphabets from a string in XSLT. For example

O\'Niel = ONiel


        
3条回答
  •  天命终不由人
    2020-11-29 12:12

    Here's a 2.0 option:

    EDIT: Sorry...the 1.0 requirement was added after I started on my answer.

    XML

    
    
      O'Niel
      St Peter
      A.David
    
    

    XSLT 2.0

    
    
      
      
    
      
        
          
        
      
    
      
        
      
    
    
    

    Output

    
    
       ONiel
       StPeter
       ADavid
    
    

    Here are a couple more ways of using replace()...

    Using "i" (case-insensitive mode) flag:

    replace(.,'[^A-Z]','','i')
    

    Using category escapes:

    replace(.,'\P{L}','')
    

提交回复
热议问题