str.split('/').pop()
//или
str.slice(str.lastIndexOf('/') + 1)
// или
[...str].reduce((acc, n) => n === '/' ? '' : acc + n, '')
str.match(/[^\/]*$/)[0]
// или
str.replace(/.*\//, '')
Client does not support authentication protocol requested by server; consider upgrading MySQL client
<code></code>
...
if event.type == pygame.MOUSEBUTTONDOWN:
# Получаем координаты курсора
pos = pygame.mouse.get_pos()
# Получаем прямоугольник
rect = my_image.get_rect()
# Проверяем попадание точки в прямоугольник
if rect.collidepoint(pos):
# Если точка попала - изменяете размер картинки
change_image_size()
...
function builtInReverse(string) {
return string.split('').reverse().join('');
}
function forLoopReverse(string) {
let newString = '';
for (let i = string.length - 1; i >= 0; i--) {
newString += string[i];
}
return newString
}
function recursionReverse(string) {
return string === '' ? string : recursionReverse(string.substr(1)) + string.charAt(0);
}
function reverseString(string, handler) {
return handler(string);
}
console.log( reverseString('test', builtInReverse) ); // 'tset'
console.log( reverseString('test', forLoopReverse) ); // 'tset'
console.log( reverseString('test', recursionReverse) ); // 'tset'
input.value = parseFloat(e.target.value).toFixed(2);
const pos = e.target.selectionStart; // запомнить положение курсора
// magic
e.target.selectionStart = e.target.selectionEnd = pos; // восстановить
const pos = e.target.selectionStart;
let v = parseFloat(e.target.value);
if( isNaN(v)) v = 0;
e.target.value = v.toFixed(2)
e.target.selectionStart = e.target.selectionEnd = pos;
const someSrt = "954 432 534 test abc test test test abc test test abc ";
const words = someSrt.match(/([a-zA-Z]+)/g);
const numbers = someSrt.match(/(\d+)/g);
console.log(words); // ["test", "abc", "test", "test", "test", "abc", "test", "test", "abc"]
console.log(numbers); // ["954", "432", "534"]