Оператор ==
проверяет, указывают ли две ссылки на один и тот же объект или нет. .equals()
проверьте фактическое содержимое строки (значение).
Обратите внимание, что метод .equals()
принадлежит классу Object
(суперкласс всех классов). Вам необходимо переопределить его в соответствии с вашим требованием к классу, но для String оно уже реализовано и проверяет, имеет ли две строки одно и то же значение.
String s1 = "Stack Overflow";
String s2 = "Stack Overflow";
s1 == s2; //true
s1.equals(s2); //true
Причина: строка литералы, созданные без нуля, хранятся в пуле строк в области перментонов кучи. Таким образом, оба s1 и s2 указывают на один и тот же объект в пуле. String s1 = new String("Stack Overflow");
String s2 = new String("Stack Overflow");
s1 == s2; //false
s1.equals(s2); //true
Причина. Если вы создаете объект String с использованием ключевого слова new
, ему выделяется отдельное пространство в куче. Python имеет это в ре
Try
re.split('; | , | . ',ourString)
Используйте вид сзади с классом символов:
import re
s = "I want to be splitted using different patterns. It is a complex task, and not easy to solve; so, I would need help."
result = re.split('(?<=[.,;])\s', s)
print(result)
Вывод:
['I want to be splitted using different patterns.',
'It is a complex task,',
'and not easy to solve;',
'so,',
'I would need help.']
Я не могу придумать ни одного регулярного выражения для этого. Итак, что вы можете сделать, это заменить все различные типы разделителей на определенный пользователем разделитель, скажем, $ DELIMITER $ , а затем разбить предложение на основе этого разделителя.
new_sent = re.sub('[.,;]', '$DELIMITER Это приведет к следующему:
['I want to be splitted using different patterns',
' It is a complex task',
' and not easy to solve',
' so',
' I would need help',
'']
ПРИМЕЧАНИЕ: Приведенный выше вывод имеет дополнительную пустую строку. Это потому, что в конце предложения есть точка. Чтобы избежать этого, вы можете либо удалить этот пустой элемент из списка, либо заменить пользовательский разделитель , если он встречается в конце предложения .
new_sent = re.sub('[.,;]', '$DELIMITER Если у вас есть список разделителей, вы можете создать шаблон регулярного выражения, используя следующий код:
delimiter_list = [',', '.', ':', ';']
pattern = '[' + ''.join(delimiter_list) + ']' #will result in [,.:;]
new_sent = re.sub(pattern, '$DELIMITER Надеюсь, это поможет !!!
, sent)
new_sent = re.sub('\$DELIMITER\$', '', new_sent)
new_sent.split('$DELIMITER Надеюсь, это поможет !!!
)
Надеюсь, это поможет !!!
, sent)
new_sent = re.sub('\$DELIMITER\$', '', new_sent)
new_sent.split('$DELIMITER Если у вас есть список разделителей, вы можете создать шаблон регулярного выражения, используя следующий код:
delimiter_list = [',', '.', ':', ';']
pattern = '[' + ''.join(delimiter_list) + ']' #will result in [,.:;]
new_sent = re.sub(pattern, '$DELIMITER Надеюсь, это поможет !!!
, sent)
new_sent = re.sub('\$DELIMITER\$', '', new_sent)
new_sent.split('$DELIMITER Надеюсь, это поможет !!!
)
Надеюсь, это поможет !!!
)
Если у вас есть список разделителей, вы можете создать шаблон регулярного выражения, используя следующий код:
delimiter_list = [',', '.', ':', ';']
pattern = '[' + ''.join(delimiter_list) + ']' #will result in [,.:;]
new_sent = re.sub(pattern, '$DELIMITER Надеюсь, это поможет !!!
, sent)
new_sent = re.sub('\$DELIMITER\$', '', new_sent)
new_sent.split('$DELIMITER Надеюсь, это поможет !!!
)
Надеюсь, это поможет !!!
, sent)
new_sent.split('$DELIMITER Это приведет к следующему:
['I want to be splitted using different patterns',
' It is a complex task',
' and not easy to solve',
' so',
' I would need help',
'']
ПРИМЕЧАНИЕ: Приведенный выше вывод имеет дополнительную пустую строку. Это потому, что в конце предложения есть точка. Чтобы избежать этого, вы можете либо удалить этот пустой элемент из списка, либо заменить пользовательский разделитель , если он встречается в конце предложения .
new_sent = re.sub('[.,;]', '$DELIMITER Если у вас есть список разделителей, вы можете создать шаблон регулярного выражения, используя следующий код:
delimiter_list = [',', '.', ':', ';']
pattern = '[' + ''.join(delimiter_list) + ']' #will result in [,.:;]
new_sent = re.sub(pattern, '$DELIMITER Надеюсь, это поможет !!!
, sent)
new_sent = re.sub('\$DELIMITER\$', '', new_sent)
new_sent.split('$DELIMITER Надеюсь, это поможет !!!
)
Надеюсь, это поможет !!!
, sent)
new_sent = re.sub('\$DELIMITER\$', '', new_sent)
new_sent.split('$DELIMITER Если у вас есть список разделителей, вы можете создать шаблон регулярного выражения, используя следующий код:
delimiter_list = [',', '.', ':', ';']
pattern = '[' + ''.join(delimiter_list) + ']' #will result in [,.:;]
new_sent = re.sub(pattern, '$DELIMITER Надеюсь, это поможет !!!
, sent)
new_sent = re.sub('\$DELIMITER\$', '', new_sent)
new_sent.split('$DELIMITER Надеюсь, это поможет !!!
)
Надеюсь, это поможет !!!
)
Если у вас есть список разделителей, вы можете создать шаблон регулярного выражения, используя следующий код:
delimiter_list = [',', '.', ':', ';']
pattern = '[' + ''.join(delimiter_list) + ']' #will result in [,.:;]
new_sent = re.sub(pattern, '$DELIMITER Надеюсь, это поможет !!!
, sent)
new_sent = re.sub('\$DELIMITER\$', '', new_sent)
new_sent.split('$DELIMITER Надеюсь, это поможет !!!
)
Надеюсь, это поможет !!!
)
Это приведет к следующему:
['I want to be splitted using different patterns',
' It is a complex task',
' and not easy to solve',
' so',
' I would need help',
'']
ПРИМЕЧАНИЕ: Приведенный выше вывод имеет дополнительную пустую строку. Это потому, что в конце предложения есть точка. Чтобы избежать этого, вы можете либо удалить этот пустой элемент из списка, либо заменить пользовательский разделитель , если он встречается в конце предложения .
new_sent = re.sub('[.,;]', '$DELIMITER Если у вас есть список разделителей, вы можете создать шаблон регулярного выражения, используя следующий код:
delimiter_list = [',', '.', ':', ';']
pattern = '[' + ''.join(delimiter_list) + ']' #will result in [,.:;]
new_sent = re.sub(pattern, '$DELIMITER Надеюсь, это поможет !!!
, sent)
new_sent = re.sub('\$DELIMITER\$', '', new_sent)
new_sent.split('$DELIMITER Надеюсь, это поможет !!!
)
Надеюсь, это поможет !!!
, sent)
new_sent = re.sub('\$DELIMITER\$', '', new_sent)
new_sent.split('$DELIMITER Если у вас есть список разделителей, вы можете создать шаблон регулярного выражения, используя следующий код:
delimiter_list = [',', '.', ':', ';']
pattern = '[' + ''.join(delimiter_list) + ']' #will result in [,.:;]
new_sent = re.sub(pattern, '$DELIMITER Надеюсь, это поможет !!!
, sent)
new_sent = re.sub('\$DELIMITER\$', '', new_sent)
new_sent.split('$DELIMITER Надеюсь, это поможет !!!
)
Надеюсь, это поможет !!!
)
Если у вас есть список разделителей, вы можете создать шаблон регулярного выражения, используя следующий код:
delimiter_list = [',', '.', ':', ';']
pattern = '[' + ''.join(delimiter_list) + ']' #will result in [,.:;]
new_sent = re.sub(pattern, '$DELIMITER Надеюсь, это поможет !!!
, sent)
new_sent = re.sub('\$DELIMITER\$', '', new_sent)
new_sent.split('$DELIMITER Надеюсь, это поможет !!!
)
Надеюсь, это поможет !!!