Ich schreibe einen Code in Java, der Text nimmt, dann entfernen Sie alle Interpunktionen (, Leerzeichen - neue Zeile und Ziffern) alle Sonderzeichen und lassen Sie einfach die A bis Z Buchstaben. es funktioniert gut bis zur ersten Wagenrückfahrt und gestoppt. Ich habe versucht, viele replaceAll-Version, aber es hat nicht funktioniert, bitte helfen!Carriage Return und Sonderzeichen aus dem Text entfernen
beispiels
IHN- EMATMG EECNIWEA RSHI A RESOEF ES RLTCMEE-COEAACIROH TLNHR PIRMOA ECSHENEV CEDIAODED ULS NPHD TN EAE REIIY-MO TWL-EDTHTTEEN NTCIPRO TO TUERYMT MORCCIECLL,
PIMAATODMC DNL IITIAMRO CUNAIMYNAOINI.
dann erhalte ich:
IHNEMATMGEECNIWEARSHIARESOEFESRLTCMEECOEAACIROHTLNHRPIRMOAECSHENEVCEDIAODEDULSNPHDTNEAEREIIYMOTWLEDTHTTEENNTCIPROTOTUERYMTMORCCIECLL
package Cipher1;
import java.util.Scanner;
public class StripCipher
{
public static void main(String[] args)
{
// Take the input of the encrypted text from the user.
System.out.println(" Enter the cipher text : ");
Scanner ScanText = new Scanner(System.in);
String OriginalCipherText = ScanText.nextLine();
// Eliminate the wide space and special characters present in the input
// text.
String CipherText = OriginalCipherText.replaceAll("\\s+", "");
CipherText = OriginalCipherText.replaceAll("[^a-zA-Z]+", "");
System.out.println(" Striped Cipher text is : " + CipherText);
// Calculate the length of the text.
int CipherTextLength = CipherText.length();
System.out.println(" Lenght of the cipher text is : " + CipherTextLength);
}
}
für Präzisierungen habe ich die folgenden, aber keiner von ihnen arbeiten:
replaceAll("[\n\r]", "");
replaceAll("\\r|\\n", "")
replaceAll("[^\\w\\s]","");
replaceAll("[^\\p{L}\\p{Z}]","");
Wie würden Sie das beheben? –