Verifique que la clave de subcadena exista en la palabra y el valor de retorno

Jay J

Estoy tratando de encontrar la forma más eficiente de clasificar los gastos en un software de contabilidad. Los valores vienen así:

"EFTPOS Kathmandu 2342342"

He creado un método de la siguiente manera:

  private static string Classifier(string inputDescription)
        {
            Dictionary<string, string> classified = new Dictionary<string, string>();
            classified.Add("D/C FROM", "INCOME" );
            classified.Add("CREDIT ATM", "INCOME");
            classified.Add("INTEREST", "INCOME");

        classified.Add("EFTPOS", "EXPENSE" );
        classified.Add("DEBIT DEBIT", "EXPENSE");
        classified.Add("CC DEBIT", "EXPENSE");

        classified.Add("PAYMENT RECEIVED", "TRANSFER");
        classified.Add("PAYMENT - THANK YOU", "TRANSFER");

        classified.Add("IRD", "TAX" );
        classified.Add("I.R.D", "TAX");

        try
        {
           // What do I do here to get the value?
            return value;

        }
        catch(Exception)
        {
            return "OTHER";
        }

    }

Básicamente, quiero analizar los valores de mi inputDescription con las claves en el diccionario para obtener su valor (la clasificación del artículo de línea).

Entonces, para el ejemplo que se muestra arriba, el resultado sería "GASTOS".

Asumí que el diccionario sería la forma más rápida de abordar esto, pero estoy abierto a sugerencias sobre mejores métodos.

¡Gracias de antemano!

Tobias

¿Qué pasa con el uso de RegEx?

const string EXPENSE_PATTERN = "^(EFTPOS|DEBIT DEBIT|CC DEBIT)"
const string ..._PATTERN

if (Regex.IsMatch(input, EXPENSE_PATTERN)){
    return "EXPENSE";
} else if (Regex.IsMatch(input, INCOME_PATTERN)){
    return "INCOME";
} else if (Regex.IsMatch(input, ..._PATTERN)){
    return "...";
} else {
    return "OTHER"
}

Este artículo se recopila de Internet, indique la fuente cuando se vuelva a imprimir.

En caso de infracción, por favor [email protected] Eliminar

Editado en
0

Déjame decir algunas palabras

0Comentarios
Iniciar sesiónRevisión de participación posterior

Artículos relacionados

Verifique la matriz en busca de coincidencias en el valor del diccionario y la clave de retorno

Verifique que el valor de la matriz exista en subscribe angular10

awk para que coincida con la palabra clave y verifique el subpatrón de otro campo

Verifique que el valor en la matriz exista Flutter dardo

¿Cuál es el efecto de la palabra clave 'explícita' en la optimización del valor de retorno (RVO)?

Analizar la columna de marco de datos para la subcadena y el valor de retorno

Verifique que algo exista en la matriz antes de ejecutar

Eliminar la lista de claves en el objeto, es posible que la clave no exista

eliminar la subcadena de la dirección que contiene la palabra y la palabra que sigue

Hacer coincidir la subcadena de pandas con la clave dict y reemplazarla con el valor dict

Verifique si el valor existe en la matriz multidimensional y edite otro valor dentro de la misma clave

cómo mostrar la clave y el valor en el componente funcional dentro de la parte de retorno

Verifique que el valor exista o no en el objeto JSON para evitar la excepción JSON

Verifique que la carpeta exista y cree la carpeta en el archivo .pro

Verifique si una cadena incluye alguna de las claves en un hash y devuelva el valor de la clave que contiene

La validación de Firebase se asegura de que el niño exista y tenga el valor correcto en la escritura y actualización inicial

MySQL Query: encontrar lo que contiene una palabra clave y el número de objetos que tienen la palabra clave

Concerniente a la palabra clave de retorno

Busque una palabra clave en una matriz y, si coincide, devuelva el valor de la columna Derecha.

Sed capitalizar la primera letra de la palabra en el par clave-valor

el uso de la palabra clave 'reemplazar' no cambia el valor en este código COBOL

Verifique el valor de retorno en la sintaxis de excepción de FluentAssertion

Verifique que la matriz de valores exista en la base de datos MySQL

Encuentre la subcadena de palabra clave usando BeautifulSoup

Verifique la firma de la clave privada por la clave pública entre el remitente y el receptor en PHP

Verifique que el valor de un marco de datos exista en otro y establezca los valores de una manera específica teniendo en cuenta los duplicados

Dada una lista de tuplas, verifique si es posible construir una palabra en la que el segundo valor de la tupla no se repita consecutivamente

vainilla javascript: intercepta la clave en la entrada y cambia el valor de la clave

El propósito de la palabra clave 'valor' en Oracle Select Statement

TOP Lista

CalienteEtiquetas

Archivo