Estoy tratando de crear un script que busque las palabras "ph" en el nombre del archivo y, si lo encuentra, almacenará los números ph+5 después.
En mi trabajo, le damos a cada trabajo un número "ph32545", por ejemplo, y solo quiero verificar si el nombre del archivo contiene un número de ph y almacenar solo esa parte en una variable.
Esto es lo que he logrado hacer hasta ahora, el problema es que no se como sacar el numero de ph:
var doc = app.activeDocument; var name = doc.name; if (name.match("ph") == "ph") {alert("C1");}la alerta es solo para probar si se ha encontrado un ph.
Solo buscar ph también dará una coincidencia si un nombre de archivo por coincidencia contiene estas dos letras. Debe usar RegExp para asegurarse de que ph esté seguido de cinco dígitos.
Podría verse así: /ph\d{5}/ .
El RegExp debe tener / primero y último. ph es obviamente la cadena de texto, \d significa "cualquier dígito" y {5} significa "cinco veces". (También podría haber escrito /ph\d\d\d\d\d/ , pero eso es un poco más largo).
Si no agrega una g para "global" después de RegExp, el método de match solo busca la primera coincidencia y devuelve una matriz donde el primer elemento es la coincidencia encontrada.
Si no hay una coincidencia, el método devolverá null .
Así que tu ejemplo debería ser así:
var doc = app.activeDocument; var name = doc.name; var match = name.match(/ph\d{5}/); if (match) alert(match[0]);Obtenga más información sobre String.prototype.match() .