2017-01-31 3 views
1

Zum Beispiel habe ich eine Zeichenfolge wie folgt:Klare Saiten zwischen Strings

String myString = "Hello my name is Skypit" 

Wie kann ich alles klar zwischen „mein“ und „ist“? "mein" und "ist" wird sich nie ändern, aber alles dazwischen. So sollte das Ergebnis für dieses Beispiel sein "Hallo myis Skypit"

+1

Die Frage ist nicht klar? "durch alles dazwischen mein und ist" beziehen sie sich auf "name" oder gehören dazu auch "hallo" und "skypit"? – Optimus

+0

Die Frage ist nicht klar genug. Könnten Sie das bitte am Beispiel erläutern? –

+0

wollen Sie ein Ergebnis wie folgt: 'Hallo myis Skypit' –

Antwort

2

Sie (.*my).*(is.*) mit replaceAll

(.*my) verwenden können: erfassen alles bis my wo (.*my) von $1

(is.*) dargestellt: erfassen alles von is bis zum Ende, wobei (is.*) durch $2

dargestellt wird

output:

Hello myis Skypit 

Um den Inhalt zwischen my und is

System.out.println(myString.replaceAll(".*my(.*)is.*", "$1")); // 

Demo

const regex = /(.*my).*(is.*)/g; 
 
const regex2 = /.*my(.*)is.*/g; 
 
const str = `Hello my name is Skypit`; 
 
const result = str.replace(regex, `$1$2`); 
 
const result2 = str.replace(regex2, `$1`); 
 
console.log('Output 1 : ',result); 
 
console.log('Output 2 : ',result2);
fetch