0 votos

Cómo eliminar las "/"s de mi texto en una variable

De acuerdo, tengo un código que obtiene texto de algún lugar y lo almacena en la variable "respuesta" pero tiene símbolos / mezclados con el texto... ¿cómo me deshago de ellos? Este es el código

tell application "Safari"
    quit
end tell

set defaultAnswer to ""
set cancelButton to "Cancelar"
set buttonResearch to "Rebuscar"

display dialog "Consulta: " respuesta predeterminada defaultAnswer botones {cancelButton, buttonResearch} botón predeterminado buttonResearch botón de cancelación cancelButton con icono 1
copiar el resultado como lista a {botón_presionado, texto_retornado}

tell application "Dragon Dictate"
    establecer escuchando a falso
end tell

if (botón_presionado es buttonResearch) y (texto_retornado no es "") then
    set a to "http://www.wolframalpha.com/input/?i="
    set b to encode_text(text_returned, true, false)
    set c to a & b

    tell application "Safari"
        activar
        abrir
    end tell
    repetir
        if aplicación "Safari" está ejecutándose entonces salir repetir
    end repetir
    retraso 1
    decir "déjame buscar eso por ti ahora"
    retraso 6
    decir aplicación "Safari" para establecer theString a (código fuente del documento 1)

(* Eliminar el texto y devolver solo la última línea *)
establecer entrada a hacer script de "echo " & (forma citada de theString) & "|sed -n \"/stringified/,/mInput/p\" | sed '$!N;$!D'"

global respuesta

establecer offSet1 a "\"stringified\": \""
establecer offSet2 a "\",\"mInput\""

mi tira (offSet1, offSet2, entrada)

establecer mi cuenta de palabras a contar de palabras de respuesta

si mi cuenta de palabras es mayor que 50 entonces
    dialogo de visualización x
else

fin si

tell application "Safari"
    quit
end tell

tell application "Dragon Dictate"
    establecer escuchando a true
end tell

on tira(offSet1, offSet2, los datos)
    (* Usar los desplazamientos de los patrones para coincidir con el texto # a # *)
    establecer número de texto1 a (desplazamiento de offSet1 en los datos)
    establecer theData1 a texto -1 a (número de texto1 + (contar de offSet1)) de los datos
    establecer número de texto2 a (desplazamiento de offSet2 en theData1)
    establecer textoString2 a texto desde la palabra 1 a (número de texto2 - 1) de theData1
    establecer los datos a theData1
    establecer respuesta a textoString2
fin tira

-- codificación de caracteres de alto ASCII:
en encode_char(this_char)
    establecer el número ASCII a (el número ASCII de este_char)
    establecer la lista de hex a {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", "E", "F"}
    establecer x a ítem ((número ASCII div 16) + 1) de la lista de hex
    establecer y a ítem ((número ASCII mod 16) + 1) de la lista de hex
    devolver ("%" & x & y) como cadena
fin encode_char

-- CODIFICACIÓN DE TEXTO: codificar espacios y caracteres ASCII de alto nivel (los superiores a 127)
-- encode_URL_A = codificar la mayoría de los caracteres especiales reservados para su uso por URL
en encode_text(this_text, encode_URL_A, encode_URL_B)
    establecer los caracteres estándar a "abcdefghijklmnopqrstuvwxyz0123456789"
    establecer los URL_A_chars a "$+!'/?;&@=#%><{}[]\"~`^\\|*"
    establecer los URL_B_chars a ".-_:"
    establecer los caracteres aceptables a los caracteres estándar
    si encode_URL_A es falso entonces establecer los caracteres aceptables a los caracteres aceptables & los URL_A_chars
    si encode_URL_B es falso entonces establecer los caracteres aceptables a los caracteres aceptables & los URL_B_chars
    establecer el texto codificado a ""
    repetir con este_char en this_text
        si este_char está en los caracteres aceptables entonces
            establecer el texto codificado a (el texto codificado & this_char)
        else
            establecer el texto codificado a (el texto codificado & encode_char(this_char)) como cadena
        fin si
    fin repetir
    devolver el texto codificado
fin encode_text

0 votos

1voto

William T Froggard Puntos 2862

Este código debería hacerlo. Adáptelo a sus necesidades:

establecer x en "/1/2/3/4/5/6"
establecer los delimitadores de elementos de texto de AppleScript en "/"
establecer y en (palabras de x)
establecer los delimitadores de elementos de texto de AppleScript en ""
obtener y como cadena

0voto

CousinCocaine Puntos 3615

expresiones regulares

Una forma es usar expresiones regulares. Pero desafortunadamente no has mencionado el lenguaje de programación, por lo que mi ejemplo es en Bash con sed, pero la regex ('s////g') debería ser más o menos la misma.

echo "$ANSWER" | sed 's/\///g'

Esto reemplazará un '/' con ''. Sed utiliza expresiones regulares y es extremadamente poderoso.

0 votos

Estoy en mi iPhone y no puedo validar el regex.

1 votos

El lenguaje de programación se menciona como una etiqueta.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X