我遇到一个问题,一个输入必须有一个人输入的两个名称。验证输入的名称是否为字母可以正常工作,如下所示:
func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {
if textField.text!.first != "#" {
print(textField.text!.first)
print(textField.text!)
textField.text = ""
}
}
那只会验证一个名字,例如: John 。但是我需要验证字符串是否包含两个单词。就像 James Doe
这是表格输入:
import geocoder
def get_geocoder(postal_code_from_df):
# initialize your variable to None
lat_lng_coords = None
# loop until you get the coordinates
while(lat_lng_coords is None):
g = geocoder.google('{}, Toronto, Ontario'.format(postal_code_from_df))
lat_lng_coords = g.latlng
latitude = lat_lng_coords[0]
longitude = lat_lng_coords[1]
return latitude,longitude
for i in range(0,len(post_df)):
post_df['Latitude'][i],post_df['Longitude'][i]=get_geocoder(post_df.iloc[i]['Postcode'])
答案 0 :(得分:2)
您可以使用以下正则表达式:
^[a-zA-Z'-]+ [a-zA-Z'-]+$
请记住,您不允许使用其他所有字符(例如外语)。因此,最好使用任何可能的单词字符。对于PHP,它将为\p{L}
^\p{L}+ \p{L}+$
您还可以使用多个空格(^\p{L}+ +\p{L}+$
)或任何类型的空格的多个空格:
^\p{L}+\s+\p{L}+$
这是一个实时示例:https://regex101.com/r/aUkUKa/2
答案 1 :(得分:1)
您可以使用与任何空白字符匹配的元字符\s
/^[a-zA-Z]+\s[a-zA-Z]+$
^\w+\s\w+$