Frage

Hier ist ein Algorithmus zum Hinzufügen eines Apostroph zu einem bestimmten Eingang Substantiv.

Wie würden Sie einen String contruct Eigentum zu zeigen?

/**
 * apostrophizes the string properly
 * <pre>
 * curtis = curtis'
 * shaun = shaun's
 * </pre>
 *
 * @param input string to apostrophize
 * @return apostrophized string or empty string if the input was empty or null.
 */
public static String apostrophize(String input) {
    if (isEmpty(input)) return "";

    if ("s".equalsIgnoreCase(StringUtils.right(input,1))) {
        return input + "'";
    } else {
        return input + "'s";
    }
}
War es hilfreich?

Lösung

  

Wie würden Sie einen String konstruieren Eigentum zu zeigen?

Die Alternativen sind:

  • Vermeiden Sie das Problem, indem sie die Notwendigkeit vermieden wird eine besitzergreifend für einig beliebiges Wort oder Namen zu erzeugen. Dies ist, was ich tun würde ... es sei denn, ich masochistisch fühlte.

  • Führen Sie eine einfache Aufgabe, es wird die ( zwangsläufig ) Ergebnis in Englisch, die den „guten Stil versagt "Test in einigen Fällen. Und ablenkt Beschwerden aus dem endlosen Strom von dingbats hergestellt werden, die es besser haben nichts mit ihrer Zeit zu tun, als über schlechten Stil / Grammatik beschweren.

  • Machen Sie eine lange Zeit Gebäudeinfrastruktur, die Worte der Analyse in Singular / Plural, regelmäßiges Substantiv / Eigennamen der Lage ist, etc, etc. dann die Stilregeln implementieren nach der syntaktischen / semantischen Analyse des Textes Sie sind erzeugend. (Und dann wiederholen Sie den gesamten Vorgang für jede natürliche Sprache Ihrer Website ... oder was auch immer ... Bedürfnisse zu unterstützen.)

Andere Tipps

Nein, das ist nicht grammatisch korrekt. Curtis ist der richtige Weg, zu sagen, dass etwas zu Curtis gehört, da Curtis singulär ist. Wenn ein Substantiv Plural Sie würden mit der Hinter Apostroph die besitzergreifend anzuzeigen.

Edit: Shaun, in meiner bescheidenen Meinung als Person mit Erfahrung als Autor und Redakteur der englischen Sprache sowie einen Programmierer, ich fühle mich nicht, dass es für dieses Problem eine beliebige einfache Antwort ist. Ich habe nicht das Gefühl, dass es richtig ist, die besitzergreifend zu schreiben „Curtis'“ zum Ausdruck bringen, und ich glaube auch, dass es weit verbreitet ist - wenn auch nicht universal -. Vereinbarung über das Thema

Die eigentliche Arbeit eines algorithmischen Ansatzes zur Lösung dieses Problems ist die Bestimmung, ob das Substantiv im Singular oder Plural, und das ist ein äußerst schwieriges Problem zu lösen, eine, die weit über den Rahmen einer Stackoverflow Antwort. Viel Glück für Sie.

Die umgekehrte Form ist stabiler

 String.Format("The {1} of {0}", owner, item);
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top