2016-08-15 11 views
-4

sagen sie, ich habe eine Zeichenfolge wieExtract Strings aus einem anderen String beginnt und mit einem speziellen Zeichen endet

Diesen {} ist ein neuer {Test} {string} von mir.

Meine Absicht ist es, alle Saiten durch die { und } in einem Array oder einer Liste umgeben zu bekommen. Deshalb möchte ich bekommen:

{ist} {Test} {string}

Substring wird hier nicht funktionieren. Wahrscheinlich ist "Regex" die Lösung, aber ich kann es einfach nicht für mich arbeiten lassen. Kann jemand helfen?

+2

_what_ haben Sie versucht dann? – bwoebi

+1

Zeigen Sie uns Ihren Code. – Lokesh

Antwort

2

Sie möchten einen regulären Ausdruck verwenden. In diesem Fall möchten Sie den folgenden regulären Ausdruck verwenden:

/\{[^}]*\}/ 

Was bedeutet das?

  • / = Beginn der regex
  • \{ = entsprechen den Charakter {
  • [^}] = jedes Zeichen außer } ...
  • * = ... 1 bis unbegrenzte Zeiten
  • \} = mit dem Zeichen }
  • übereinstimmen 10 = Ende der Regex

du wie so verwenden können:

$re = "/\{[^}]*}/"; 
$str = "This {is} a new {test} {string} from me."; 

preg_match_all($re, $str, $matches); 

print_r($matches[0]); 

wo $matches[0] ist ein Array von Übereinstimmungen. Dies wird ausgegeben:

Array ([0] => {wird} [1] => {Test} [2] => {string})

+0

Sie haben mir das Leben gerettet, vielen Dank! – user3813280

Verwandte Themen