Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Wertet eine Liste von Elementen mit jedem Element aus, das einem Muster entspricht, das durch eine Ersetzung ersetzt wird, und Elemente, die nicht übereinstimmen, wie es ist.
Syntax
$(patsubst pattern,replacement,input)
$(patsubsti pattern,replacement,input)
Parameter
pattern
Das Muster , nach dem gesucht werden soll.
replacement
Das Muster , durch das ersetzt werden pattern soll. Wenn ein Wildcard vorhanden replacementist, wird er durch den Text ersetzt, in dem der Wildcard pattern übereinstimmt.
input
Die Liste der elemente, die ersetzt oder aufbewahrt werden sollen.
Rückgabewert
Gibt inputzurück, aber jedes Element, das übereinstimmt pattern , wird durch replacementersetzt. Elemente, die nicht übereinstimmen pattern , werden beibehalten.
Hinweise
patsubsti ist die Groß-/Kleinschreibung ohne Berücksichtigung der Groß-/Kleinschreibung von patsubst.
Diese Makrofunktion ist ab Visual Studio 2022, Version 17.1, in NMAKE, Version 14.31 oder höher, verfügbar.
Beispiel
$(patsubst He%,_%_,Hello Hey Hi) # Evaluates to "_llo_ _y_ Hi"
# "He" matches "Hello" and "Hey", and so "llo" and "y" are matched by the wildcard
# and used to substitute the wildcard in the replacement. "Hi" is not matched and so is kept as-is
$(patsubst Hi,Bye,Hello Hey Hi) # Evaluates to "Hello Hey Bye" - No wildcard is required
$(patsubst %lo,Bye,Hello Hey Hi) # Evaluates to "Bye Hey Hi"
# A wildcard can be used in the pattern without a wildcard in the replacement
$(patsubst he%,_%_,Hello Hey Hi) # Evaluates to "Hello Hey Hi" - patsubst is case-sensitive, so no substitutions performed
$(patsubsti he%,_%_,Hello Hey Hi) # Evaluates to "_llo_ _y_ Hi" - patsubsti is case-insensitive
# patsubsti is commonly used to change the file extensions of a list of files
OBJ_FILES=$(patsubst %.c,%.obj,$(C_SOURCES)) $(patsubst %.cpp,%.obj,$(patsubst %.cxx,%.obj,$(CPP_SOURCES)))