For a given string
String name = "Test";
String welcomeMessage = "Welcome" name ", You have notification!";
How can we check if welcomeMessage contains "Welcome, you have notification" substring by escaping name variable as name variable keeps on changing?
I want to achieve
welcomeMessage.contains("Welcome, You have notification!"); //to return true
What would be the best way to skip name variable?
CodePudding user response:
String#startsWith & endsWith
The String class provides specific methods:
Example:
boolean containsPhrases =
message.startsWith( "Welcome" )
&&
message.endsWith( ", You have notification!" )
;
CodePudding user response:
very simple
String name = "Test";
String welcomeMessage = "Welcome" name ", You have notification!";
System.out.println(welcomeMessage " matches " welcomeMessage.matches("Welcome. You have notification!"));
CodePudding user response:
With matches on a regular expression. There are some special regex characters that need to be escaped with a backslash, twice \\ in a regex.
welcomeMessage.matches("Welcome .*, you have notification\\!");
.* stands for . = any character without line breaks, and * = repeat the previous 0 or more times. So any string.
