Wie reagiere ich auf Strings mit zu vielen Chars ?

Patrick_1991

Mitglied
Hallo,

Ich komme einfach mal direkt zu meiner Frage:

Wie kann aus meinen String
Code:
String x = "Das ist ein Satz !!!!!!!!!"
die vielen Rufzeichen auslesen ? ALSO: Wie schaffe ich es das, sollte ein Character mehr als 3 mal in einem Satz vorkommen, das festzustellen und darauf zu reagieren (in einen if-Statement) ? (Keine RegEx, ich hoffe es geht auch simpler wenn nicht, hat sich das erledigt)

Mfg & vielen Dank im Voraus
Patrick
 
Es geht wohl nicht um die Anzahl, sondern um die Frage, ob das gleiche Zeichen oft hintereinander kommt, oder?????????????????????

Das könnte schwierig werden ! ! ! ! ! ! ! ! !

Hast du eine Idee, wie man die Regel """formaler""" beschreiben könnte !?!?!?!?!
 
Java:
public final class Rudeltiere
{
	public static void main(String[] args)
	{
		String test = "Satzzeichen sind keine Rudeltiere!!!!!!!";
		System.out.println(test);
		if(packs(test, 3)) {
			System.out.println("Verdammt nochmal!!!!");
		}
	}

	private static boolean packs(String satz, int count)
	{
		int c = 0;
		char[] seq = satz.toCharArray();
		char chr = seq[0];
		for(int s = 1; s < seq.length; s++) {
			if(seq[s] == chr) {
				c++;
				if(c == count) {
					return true;
				}
			} else {
				c = 0;
			}
			chr = seq[s];
		}
		return false;
	}
}
 
Java:
public class regex {

	@Test
	public void test() {
		String test = "Dies iiiiiist ein Test mit Schifffahrt!!!!!!!!???????????";
		System.out.println(removeDoubleNonWords(test));
	}
	
	private final String removeDoubleOrMoreWords(final String myText) {
		  String retval = new String(myText);
		  return retval.replaceAll("(\\w)\\1{4,}", "$1");
		}
	private final String removeDoubleNonWords(final String myText) {
		  String retval = new String(myText);
		  retval = removeDoubleOrMoreWords(retval);
		  return retval.replaceAll("(\\W)\\1{1,}", "$1");
		}

	
}
Output:
Code:
Dies ist ein Test mit Schifffahrt!?
 
Zuletzt bearbeitet:

Zurück
Oben