Quanto è comune la manipolazione delle stringhe, davvero? [chiuso]

-1

Ho notato che molte introduzioni di programmazione (quasi tutte le lingue) di solito includono un strong fuoco di manipolazione delle stringhe molto presto, come ad esempio:

  • Contare il numero di "xx" nella stringa specificata. Diremo che è consentita la sovrapposizione, quindi "xxx" contiene 2 "xx".
  • Invertire la stringa data e rimuovere tutte le vocali da essa.

Non solo corsi online, ma anche nei corsi di laurea.

Ma il fatto è che non ho mai incontrato una situazione nella "vita reale" in cui dovessi fare qualcosa del genere. E 'solo fortuna, o hai davvero bisogno di fare pesanti manipolazioni nel modo sopra descritto in alcuni campi della programmazione? Puoi fornire una descrizione o un esempio in cui è necessario?

Modifica:
Giusto per chiarire, non necessariamente l'elaborazione delle stringhe stessa come nelle variabili di eco ad un modello html, o altre cose di base come quella, ma il tipo di elaborazione più arcano, come leggere ogni secondo carattere? Ma sì, forse è solo per scopi di formazione invece di esigenze dirette. La conversione del formato del file è comunque una buona nota.

    
posta Juha Untinen 24.09.2013 - 17:05
fonte

5 risposte

12

La programmazione della vita reale quasi certamente coinvolgerà la manipolazione delle stringhe in un punto o nell'altro. Il tuo esempio è un caso molto specifico e può o non può apparire in uno scenario di vita reale (in realtà, sono sicuro che qualcuno, da qualche parte, ha dovuto affrontare quel problema nella vita reale).

Tuttavia, l'applicabilità della vita reale di un particolare caso d'uso non è necessariamente il punto di quegli esercizi quando si introduce una nuova lingua o si insegna a qualcuno di nuovo alla programmazione. È probabile che il punto di tali esercizi sia uno dei seguenti (a seconda del contesto):

  1. Per insegnare a un programmatore la sintassi di base di una determinata lingua usando un problema facilmente comprensibile.
  2. Fornire un esercizio che consente ai programmatori inesperti di apprendere la logica di programmazione di base senza dover comprendere un problema complesso.
  3. Per esprimere una capacità linguistica per risolvere un particolare problema di manipolazione delle stringhe.
risposta data 24.09.2013 - 17:23
fonte
4

File di testo e dati di testo sono ovunque.

Conversione di .csv in .xml , lettura di .py per l'esecuzione o .f90 per la compilazione, la costruzione e l'invio di spam da un elenco di indirizzi di posta, creazione di un database di parole chiave per l'indicizzazione del web: tutto ciò è manipolazione delle stringhe.

I computer fanno qualcosa di diverso dalla manipolazione delle stringhe?

    
risposta data 24.09.2013 - 17:16
fonte
3

La manipolazione delle stringhe in realtà è abbastanza comune quando si esegue l'I / O, che include la maggior parte della programmazione di rete. L'Unicode complica le cose, ovviamente, ma il testo rimane la cosa più vicina a un'interfaccia universale.

Ma dove brilla davvero è come una metafora. Lavorare con i singoli caratteri nelle stringhe è, in molti modi, non dissimile dal lavorare con le celle nella memoria. Ai livelli più bassi, le operazioni possono essere quasi identiche. Questo rende le stringhe un modo meno astratto di apprendere le basi del lavoro con i dati a livelli bassi, e questo rende prezioso imparare presto.

    
risposta data 24.09.2013 - 17:19
fonte
2

Questi sono esempi molto specifici, dati solo come training per la manipolazione delle stringhe.

Ed è più comune di quanto pensi - principalmente in parsing e codice UI.

Ad esempio: analizzando le date con stringhe - questo richiede un'estesa manipolazione delle stringhe.

O analizzando HTML in un DOM - stesso genere di cose.

Dovrai anche manipolare le stringhe a scopo di interfaccia utente - costruire stringhe basate su dati e condizioni specifici.

    
risposta data 24.09.2013 - 17:10
fonte
2

Is it just luck, or do you really need to do heavy manipulation in the above manner in some fields of programming?

Ci sono domini in cui la manipolazione delle stringhe non è una necessità, o è un problema marginale. Ci sono anche domini in cui è un requisito fondamentale.

Ad esempio, le tecnologie web dipendono in modo critico dalla manipolazione del testo (server Web e mail e client); così fanno la maggior parte degli strumenti di sviluppo software (IDE, editor, compilatori, ecc.)

    
risposta data 24.09.2013 - 17:16
fonte

Leggi altre domande sui tag