J'ai une liste d'éléments dans un fichier texte qui ressemble à ceci:
Masterfile="DM.xml" Doc-Name="PCP0001 Protocol" group="FP Team"
Masterfile="DM.xml" Doc-Name="PCR0001 Report" group="FP Team"
Masterfile="DM.xml" Doc-Name="DCR0002 Review" group="FP Team"
Je voudrais élargir la partie centrale pour ressembler à ceci:
Masterfile="DM.xml" Doc="http://1.1.1.1/PCP0001.Protocol.doc" Doc-Name="PCP0001 Protocol" group="FP Team"
Masterfile="DM.xml" Doc="http://1.1.1.1/PCR0001.Report.doc" Doc-Name="PCR0001 Report" group="FP Team"
Masterfile="DM.xml" Doc="http://1.1.1.1/DCR0002.Review.doc" Doc-Name="DCR0002 Review" group="FP Team"
En d'autres termes, je souhaite utiliser le nom du document, ajouter une URL devant celui-ci et remplacer les espaces par ".".
Quelqu'un peut il m'aider avec ça? J'en ai littéralement 900, donc de sorte à travers.
Voici ce que j'ai essayé dans NotePad ++:
J'ai utilisé cette expression Find:
Doc-Name=[^"]*"([^"]+)"[^"]
Et utilisé cette expression de remplacement:
Doc="http://1.1.1.1/$1.doc" Doc-Name="$1"
Cela m'a amené 90% mais pas tout à fait. Je ne sais pas comment remplacer les espaces dans $ 1 avec des points. Cela va finir le travail et j'ai besoin d'aide ici.
[ ]
remplacer par.
(point n'aurait pas de signification spéciale dans la partie de remplacement, donc ne serait pas échappé) .. mais vous n'avez probablement pas besoin de deux regex pour celaDoc-Name="([^"]*)"
Je n'ai pas le temps de faire le remplacement mais il est remplacé parDoc=......... Doc-name=......
Doc-Name="([^"]*)"
remplaçons avec-Doc="http://1.1.1.1/$1" Doc-Name="$1"
fait dans notepad ++ Ah ok je vois que vous voulez faire autre remplacer .. Je dois y aller maintenant, se penchera à nouveau plus tard , espérons que quelqu'un d' autre vous résoudrez / aide avec elle plus tôtRéponses:
Voici un moyen qui fonctionne s'il y a plus d'un espace:
Doc-Name="([^"\h]+)\h+([^"\h]+)(?:\h+([^"\h]+))?(?:\h+([^"\h]+))?(?:\h+([^"\h]+))?(?:\h+([^"\h]+))?"
Doc="http://1.1.1.1/$1.$2(?3.$3:)(?4.$4:)(?5.$5:)(?6.$6:).doc" $0
Explication:
Remplacement:
Étant donné une entrée comme:
Résultat:
la source
Je l'ai compris .... lol
Comme l'a souligné barlop (merci), ce problème est plus facile après avoir été divisé en deux étapes.
Étape 1. Ajoutez le composant Doc = "URL" comme expliqué dans l'OP
Étape 2. Ceci est un multi-étape
Rechercher: Doc = (\ ". ) \ S (. .Doc")
Remplacer: Doc = \ 1. \ 2
Utilisez replace all sous NotePad ++, mais utilisez-le autant de fois que nécessaire pour remplacer tous les espaces.
TERMINÉ!
la source