#flutter #dart
Вопрос:
Я открываю URL-адрес WhatsApp с текстом и номером.
Проблема в том, что у меня есть 2 типа номеров
923323789222 amp; 03323789222
Whatsapp не открывает номер, начинающийся с 0, поэтому мне нужно сделать следующее: если у номера 0, замените его на 92
var url ='whatsapp://send?phone= 923323789222amp;text=Apna ${widget.data['selererName']} ko ${Ggive.toString()} Rupees dene hein';
в телефоне, когда я прохожу с 92, он работает нормально, поэтому мой вопрос в том, как я могу заменить, если мой номер начинается с 0 и заменяется на 92
Ответ №1:
Вы можете просто проверить, есть ли у вашего номера 0 в начале, просто замените его на 92, а если он не начинается с 0, то останется прежним.
String num = yournumber.toString();
if(num[0] == "0"){
print('have zero');
String numb2 = num.substring(0, 0) " 92" num.substring(1);
print(numb2);
num = numb2;
}
var url ='whatsapp://send?phone=${num}amp;text=Apna ${widget.data['selererName']} ko ${Ggive.toString()} Rupees dene hein';
print(url);
Ответ №2:
Просто используйте приведенный ниже код для замены определенной строки.
var url ='whatsapp://send?phone= 923323789222amp;text=Apna ${widget.data['selererName']} ko ${Ggive.toString()} Rupees dene hein';
url.replaceAll('phone=0', 'phone= 92');
Вы также можете использовать регулярное выражение для замены строк.
Ответ №3:
Попробуйте это:
String formatPhoneNumber(String phoneNumber) {
if (phoneNumber.length < 1) return '';
// if the phone number doesn't start with 0,
// it is already formatted and we return in the
// way it is.
if (phoneNumber[0] != '0') return phoneNumber;
// if it starts with 0 then we replace the 0 with 92
// and return the new value.
return phoneNumber.replaceFirst(RegExp('0'), ' 92');
}
Использование:
print(formatPhoneNumber(' 923323789222'));
// OUTPUT: 923323789222
print(formatPhoneNumber('03323789222'));
// OUTPUT: 923323789222