2010-09-21 8 views
0
var a="##55##data1!!##66##data4545!!##77##data44!!"; 

comment faire pour supprimer ## 664545 ## data !! de la chaîneDiviser une chaîne sur un modèle

Edit: si nous connaissons la valeur de départ dans une i.e. chaîne, ## 66 ## et la valeur finale à savoir !!

Dans la chaîne principale comment supprimer des caractères à partir du motif de départ, les données sur le modèle de départ jusqu'à ce que le motif de fin

 My expected output will be ##55##data1!##77##data44!! 
+1

Cela ne vous aide pas répondre à votre question, mais vous pourriez regarder dans JSON. C'est une façon de transporter des données sous la forme d'une chaîne qui évite ce genre de gâchis. – fredley

+0

peut être plus détaillé? essayez peut-être de mettre ** quelques ** exemples de relation ** avant/après **. Les choses maintenant et ce qui est attendu. Une question claire obtiendra une réponse claire. Promettre! – Reigel

+0

quel est le sujet de toute façon? il y a plus d'entre vous qui ont posé presque la même question aujourd'hui. ;) – Reigel

Répondre

2

utilisation de javascript et regex -

a.replace(/##66##[a-zA-Z0-9]*!!/g,"") 

Si vous voulez paramétrez ceci alors vous pouvez faire comme indiqué ci-dessous où début et fin sont vos paramètres-

var a = "##55##data1!!##66##data4545!!##77##data44!!"; 
    var start = "##66##"; 
    var end = "!!"; 

    var re = new RegExp(start + "[a-zA-Z0-9]*" + end, "g"); 

    return a.replace(re,""); 
+0

@Sachin: si les données changent, comment faire le remplacement? – Hulk

+1

Je pense que la question est de savoir comment extraire élément de données 66 à partir de la chaîne, indépendamment de ce qui est contenu dans « données ». – fredley

+0

@Hulk - Chaque fois que vous savez quelles sont les données à remplacer? Si oui, alors vous pouvez avoir une fonction pour remplacer et transmettre cette donnée en argument. Est-ce correct? ou si vous pouvez expliquer en détail la situation dans votre question, ce serait utile. –

0

façon Regex, avec le drapeau mondial g pour attraper tous les matches:

a.replace(/##66##data!!/g,"") 
+0

Je pense que vous avez misunderstooed la question, il est de l'analyse syntaxique de la chaîne pour obtenir la valeur des « données » pour l'article ## 66 ##. – fredley

+0

si dire les modifications de données à une chaîne « abcdfeg », comment le remplacer à effectuer? – Hulk

+0

@fredley - Je ne pense pas que ce soit clair du tout. Il dit explicitement l'enlèvement et sonne comme une suppression basée sur une valeur dynamique, mais il pourrait s'agir d'une extraction. – annakata