我正在编写一个脚本来解析每个Outlook电子邮件中的特定数据。
在解析它之前,我写了一些东西去除掉我的字符串中的所有回车符,新空格和空格,但它非常难看。任何让它更优雅的想法?
messageStr = messageStr.replace("\r","")
messageStr = messageStr.split('\n')
messageStr = [i for i in messageStr if i != '']
messageStr = [i for i in messageStr if i != ' ']
答案 0 :(得分:1)
.strip
字符串方法会删除前导和尾随空格。如果你想摆脱每一行和其他领先/尾随空格的回车,你可以这样做
lines = [line.strip() for line in message.split('\n')]
如果要删除所有空格,而不仅仅是前导/尾随,您可以针对包含要过滤的所有空格的字符串执行类似的操作。 string
模块有一个帮助器。以下内容将从字符串s
中删除所有空格:
import string
filtered_string = ''.join(char for char in s if char not in string.whitespace)
答案 1 :(得分:1)
此任务与数据清理任务有关,这是我的方法:
将所有符号放入列表中,然后检查列表中是否有符号,然后将其删除。
// Create a class for dragged element
// I will create a new instance form this class when drag
function draggedElement(elementId, parentId) {
this.id = elementId,
this.parentId = parentId
};
// Array of dragged elements
// This array use for store dragged elements and their parent's id
var draggedElementList = [];
$('.draggable').draggable({
start: function(event, ui) {
// Store or update parent's id
updateDraggedElementList($(this).attr("id"), $(this).parent().attr("id"));
}
});
// This method used for update or store draaged elemens and their parent's id
function updateDraggedElementList(elementId, parentId) {
// Create new instance
var element = new draggedElement(elementId, parentId);
// Check element has already been added or not
var foundIndex = draggedElementList.findIndex(el => el.id == element.id);
if (foundIndex > -1)
draggedElementList[foundIndex] = element;
else
draggedElementList.push(element);
// Print dragged elements and their parents
printDraggedElements();
}
// I wrote this method for test
function printDraggedElements() {
for (var i = 0; i < draggedElementList.length; i++) {
console.log(draggedElementList[i].id);
console.log(draggedElementList[i].parentId);
}
}
输出:
dummy_string='Hello this is \n example \r to remove '' the special symbols ' ''
special_sym=['\r','\n','',' ']
[dummy_string.split().__delitem__(j) for j,i in enumerate(dummy_string.split()) if i in special_sym]
print(" ".join(dummy_string.split()))
P.S:你在special_sym列表中不需要Hello this is example to remove the special symbols
,'\r'
,因为当你执行'\n'
时它会自动删除那些,但我仍然只是在那里展示。