Làm cách nào để sử dụng biểu thức chính quy trong Excel và tận dụng thiết lập dạng lưới mạnh mẽ của Excel để thao tác dữ liệu?
Tôi hiểu Regex là không lý tưởng cho nhiều tình huống ( Để sử dụng hoặc không sử dụng biểu thức thông thường? ) Kể từ excel có thể sử dụng Left
, Mid
, Right
, Instr
loại lệnh cho các thao tác tương tự.
Biểu thức chính quy được sử dụng để So khớp mẫu.
Để sử dụng trong Excel, hãy làm theo các bước sau:
Bước 1 : Thêm tham chiếu VBA vào "Microsoft VBScript Regular Expressions 5.5"
Bước 2 : Xác định mẫu của bạn
Định nghĩa cơ bản:
-
Phạm vi.
a-z
khớp các chữ cái thường từ a đến z0-5
khớp với bất kỳ số nào từ 0 đến 5[]
Khớp chính xác một trong các đối tượng bên trong các dấu ngoặc này.
[a]
khớp với chữ a[abc]
khớp với một chữ cái duy nhất có thể là a, b hoặc c[a-z]
khớp với bất kỳ chữ cái thường nào trong bảng chữ cái.()
Nhóm các trận đấu khác nhau cho mục đích trả lại. Xem ví dụ bên dưới.
{}
Hệ số nhân cho các bản sao lặp lại của mẫu được xác định trước nó.
[a]{2}
khớp với hai chữ cái viết thường liên tiếp a:aa
[a]{1,3}
phù hợp với ít nhất một và tối đa ba thấp hơn thư trường hợp a
, aa
,aaa
+
Khớp ít nhất một hoặc nhiều mẫu được xác định trước nó.
a+
sẽ phù hợp liên tiếp của một a
, aa
, aaa
, và vân vân?
Khớp số không hoặc một trong các mẫu được xác định trước nó.
[a-z]?
khớp với chuỗi rỗng hoặc bất kỳ chữ cái thường nào.*
Khớp không hoặc nhiều mẫu được xác định trước nó. - Ví dụ: Ký tự đại diện cho mẫu có thể có hoặc không. - Ví dụ: [a-z]*
khớp với chuỗi rỗng hoặc chuỗi các chữ cái thường.
.
Khớp với bất kỳ ký tự nào ngoại trừ dòng mới \n
a.
Khớp một chuỗi hai ký tự bắt đầu bằng a và kết thúc bằng bất kỳ thứ gì ngoại trừ\n
|
Toán tử HOẶC
a|b
có nghĩa là a
hoặc hoặc b
có thể được kết hợp.red|white|orange
kết hợp chính xác một trong các màu.^
KHÔNG phải nhà điều hành
[^0-9]
ký tự không thể chứa một số[^aA]
ký tự không được viết thường a
hoặc viết hoaA
\
Thoát khỏi ký tự đặc biệt theo sau (ghi đè hành vi trên)
\.
, \\
, \(
, \?
, \$
,\^
Các mẫu neo:
^
So khớp phải xảy ra ở đầu chuỗi
^a
Ký tự đầu tiên phải là chữ thườnga
^[0-9]
Ký tự đầu tiên phải là một số.$
So khớp phải xảy ra ở cuối chuỗi
a$
Ký tự cuối cùng phải là chữ thườnga
Bảng ưu tiên:
Order Name Representation
1 Parentheses ( )
2 Multipliers ? + * {m,n} {m, n}?
3 Sequence & Anchors abc ^ $
4 Alternation |
Các từ viết tắt ký tự được xác định trước:
abr same as meaning
\d [0-9] Any single digit
\D [^0-9] Any single character that's not a digit
\w [a-zA-Z0-9_] Any word character
\W [^a-zA-Z0-9_] Any non-word character
\s [ \r\t\n\f] Any space character
\S [^ \r\t\n\f] Any non-space character
\n [\n] New line
Ví dụ 1 : Chạy dưới dạng macro
Macro ví dụ sau đây xem xét giá trị trong ô A1
để xem 1 hoặc 2 ký tự đầu tiên có phải là chữ số hay không. Nếu vậy, chúng sẽ bị loại bỏ và phần còn lại của chuỗi được hiển thị. Nếu không, thì một hộp xuất hiện cho bạn biết rằng không tìm thấy kết quả phù hợp nào. A1
Giá trị ô của 12abc
sẽ trả về abc
, giá trị của 1abc
sẽ trả về abc
, giá trị của abc123
sẽ trả về "Không phù hợp" vì các chữ số không ở đầu chuỗi.
Private Sub simpleRegex()
Dim strPattern As String: strPattern = "^[0-9]{1,2}"
Dim strReplace As String: strReplace = ""
Dim regEx As New RegExp
Dim strInput As String
Dim Myrange As Range
Set Myrange = ActiveSheet.Range("A1")
If strPattern <> "" Then
strInput = Myrange.Value
With regEx
.Global = True
.MultiLine = True
.IgnoreCase = False
.Pattern = strPattern
End With
If regEx.Test(strInput) Then
MsgBox (regEx.Replace(strInput, strReplace))
Else
MsgBox ("Not matched")
End If
End If
End Sub
Ví dụ 2 : Chạy dưới dạng một hàm trong ô
Ví dụ này giống như ví dụ 1 nhưng được thiết lập để chạy dưới dạng một hàm trong ô. Để sử dụng, hãy thay đổi mã thành sau:
Function simpleCellRegex(Myrange As Range) As String
Dim regEx As New RegExp
Dim strPattern As String
Dim strInput As String
Dim strReplace As String
Dim strOutput As String
strPattern = "^[0-9]{1,3}"
If strPattern <> "" Then
strInput = Myrange.Value
strReplace = ""
With regEx
.Global = True
.MultiLine = True
.IgnoreCase = False
.Pattern = strPattern
End With
If regEx.test(strInput) Then
simpleCellRegex = regEx.Replace(strInput, strReplace)
Else
simpleCellRegex = "Not matched"
End If
End If
End Function
Đặt các chuỗi của bạn ("12abc") vào ô A1
. Nhập công thức này =simpleCellRegex(A1)
vào ô B1
và kết quả sẽ là "abc".
Ví dụ 3 : Loop Through Range
Ví dụ này giống như ví dụ 1 nhưng lặp lại qua một dải ô.
Private Sub simpleRegex()
Dim strPattern As String: strPattern = "^[0-9]{1,2}"
Dim strReplace As String: strReplace = ""
Dim regEx As New RegExp
Dim strInput As String
Dim Myrange As Range
Set Myrange = ActiveSheet.Range("A1:A5")
For Each cell In Myrange
If strPattern <> "" Then
strInput = cell.Value
With regEx
.Global = True
.MultiLine = True
.IgnoreCase = False
.Pattern = strPattern
End With
If regEx.Test(strInput) Then
MsgBox (regEx.Replace(strInput, strReplace))
Else
MsgBox ("Not matched")
End If
End If
Next
End Sub
Ví dụ 4 : Tách rời các mẫu khác nhau
Ví dụ này lặp qua một phạm vi ( A1
, A2
& A3
) và tìm kiếm một chuỗi bắt đầu bằng ba chữ số theo sau là một ký tự alpha và sau đó là 4 chữ số. Đầu ra tách mẫu phù hợp thành các ô liền kề bằng cách sử dụng ()
. $1
đại diện cho mẫu đầu tiên được so khớp trong tập hợp đầu tiên ()
.
Private Sub splitUpRegexPattern()
Dim regEx As New RegExp
Dim strPattern As String
Dim strInput As String
Dim Myrange As Range
Set Myrange = ActiveSheet.Range("A1:A3")
For Each C In Myrange
strPattern = "(^[0-9]{3})([a-zA-Z])([0-9]{4})"
If strPattern <> "" Then
strInput = C.Value
With regEx
.Global = True
.MultiLine = True
.IgnoreCase = False
.Pattern = strPattern
End With
If regEx.test(strInput) Then
C.Offset(0, 1) = regEx.Replace(strInput, "$1")
C.Offset(0, 2) = regEx.Replace(strInput, "$2")
C.Offset(0, 3) = regEx.Replace(strInput, "$3")
Else
C.Offset(0, 1) = "(Not matched)"
End If
End If
Next
End Sub
Các kết quả:
Ví dụ về mẫu bổ sung
String Regex Pattern Explanation
a1aaa [a-zA-Z][0-9][a-zA-Z]{3} Single alpha, single digit, three alpha characters
a1aaa [a-zA-Z]?[0-9][a-zA-Z]{3} May or may not have preceding alpha character
a1aaa [a-zA-Z][0-9][a-zA-Z]{0,3} Single alpha, single digit, 0 to 3 alpha characters
a1aaa [a-zA-Z][0-9][a-zA-Z]* Single alpha, single digit, followed by any number of alpha characters
</i8> \<\/[a-zA-Z][0-9]\> Exact non-word character except any single alpha followed by any single digit
Để sử dụng biểu thức chính quy trực tiếp trong công thức Excel, UDF (hàm do người dùng xác định) sau có thể hữu ích. Nó ít nhiều thể hiện trực tiếp chức năng biểu thức chính quy như một hàm excel.
Nó có 2-3 tham số.
$0
, $1
, $2
, và vân vân. $0
là toàn bộ đối sánh $1
và tương ứng với các nhóm đối sánh tương ứng trong biểu thức chính quy. Mặc định là $0
.Trích xuất một địa chỉ email:
=regex("Peter Gordon: [email protected], 47", "\[email protected]\w+\.\w+")
=regex("Peter Gordon: [email protected], 47", "\[email protected]\w+\.\w+", "$0")
Kết quả trong: [email protected]
Trích xuất một số chuỗi con:
=regex("Peter Gordon: [email protected], 47", "^(.+): (.+), (\d+)$", "E-Mail: $2, Name: $1")
Kết quả trong: E-Mail: [email protected], Name: Peter Gordon
Để tách một chuỗi kết hợp trong một ô thành các thành phần của nó trong nhiều ô:
=regex("Peter Gordon: [email protected], 47", "^(.+): (.+), (\d+)$", "$" & 1)
=regex("Peter Gordon: [email protected], 47", "^(.+): (.+), (\d+)$", "$" & 2)
Kết quả là: Peter Gordon
[email protected]
...
Để sử dụng UDF này, hãy làm như sau (gần như dựa trên trang này của Microsoft . Họ có một số thông tin bổ sung tốt ở đó!):
ALT+F11
để mở Microsoft Visual Basic for Applications Editor.Nhấp vào Chèn mô-đun . Nếu bạn đặt tên khác cho mô-đun của mình, hãy đảm bảo rằng Mô-đun không có cùng tên với UDF bên dưới (ví dụ: đặt tên cho Mô-đun Regex
và hàm regex
gây ra lỗi #NAME! ).
Trong cửa sổ văn bản lớn ở giữa, hãy chèn nội dung sau:
Function regex(strInput As String, matchPattern As String, Optional ByVal outputPattern As String = "$0") As Variant
Dim inputRegexObj As New VBScript_RegExp_55.RegExp, outputRegexObj As New VBScript_RegExp_55.RegExp, outReplaceRegexObj As New VBScript_RegExp_55.RegExp
Dim inputMatches As Object, replaceMatches As Object, replaceMatch As Object
Dim replaceNumber As Integer
With inputRegexObj
.Global = True
.MultiLine = True
.IgnoreCase = False
.Pattern = matchPattern
End With
With outputRegexObj
.Global = True
.MultiLine = True
.IgnoreCase = False
.Pattern = "\$(\d+)"
End With
With outReplaceRegexObj
.Global = True
.MultiLine = True
.IgnoreCase = False
End With
Set inputMatches = inputRegexObj.Execute(strInput)
If inputMatches.Count = 0 Then
regex = False
Else
Set replaceMatches = outputRegexObj.Execute(outputPattern)
For Each replaceMatch In replaceMatches
replaceNumber = replaceMatch.SubMatches(0)
outReplaceRegexObj.Pattern = "\$" & replaceNumber
If replaceNumber = 0 Then
outputPattern = outReplaceRegexObj.Replace(outputPattern, inputMatches(0).Value)
Else
If replaceNumber > inputMatches(0).SubMatches.Count Then
'regex = "A to high $ tag found. Largest allowed is $" & inputMatches(0).SubMatches.Count & "."
regex = CVErr(xlErrValue)
Exit Function
Else
outputPattern = outReplaceRegexObj.Replace(outputPattern, inputMatches(0).SubMatches(replaceNumber - 1))
End If
End If
Next
regex = outputPattern
End If
End Function
Lưu và đóng cửa sổ Microsoft Visual Basic for Applications Editor.
Mở rộng câu trả lời của patszim cho những người đang gấp.
thêm mã sau:
Function RegxFunc(strInput As String, regexPattern As String) As String
Dim regEx As New RegExp
With regEx
.Global = True
.MultiLine = True
.IgnoreCase = False
.pattern = regexPattern
End With
If regEx.Test(strInput) Then
Set matches = regEx.Execute(strInput)
RegxFunc = matches(0).Value
Else
RegxFunc = "not matched"
End If
End Function
Mẫu regex được đặt trong một trong các ô và tham chiếu tuyệt đối được sử dụng trên đó.
Hàm sẽ được liên kết với sổ làm việc mà nó được tạo.
Nếu có nhu cầu sử dụng nó trong các sổ làm việc khác nhau, hãy lưu trữ hàm trong Personal.XLSB
Đây là nỗ lực của tôi:
Function RegParse(ByVal pattern As String, ByVal html As String)
Dim regex As RegExp
Set regex = New RegExp
With regex
.IgnoreCase = True 'ignoring cases while regex engine performs the search.
.pattern = pattern 'declaring regex pattern.
.Global = False 'restricting regex to find only first match.
If .Test(html) Then 'Testing if the pattern matches or not
mStr = .Execute(html)(0) '.Execute(html)(0) will provide the String which matches with Regex
RegParse = .Replace(mStr, "$1") '.Replace function will replace the String with whatever is in the first set of braces - $1.
Else
RegParse = "#N/A"
End If
End With
End Function
Tôi cần sử dụng nó như một hàm ô (như SUM
hoặc VLOOKUP
) và thấy rằng thật dễ dàng để:
Tạo hàm sau trong sổ làm việc hoặc trong mô-đun riêng của nó:
Function REGPLACE(myRange As Range, matchPattern As String, outputPattern As String) As Variant
Dim regex As New VBScript_RegExp_55.RegExp
Dim strInput As String
strInput = myRange.Value
With regex
.Global = True
.MultiLine = True
.IgnoreCase = False
.Pattern = matchPattern
End With
REGPLACE = regex.Replace(strInput, outputPattern)
End Function
Sau đó, bạn có thể sử dụng trong ô với (ví dụ: "A 243" thành "A243")=REGPLACE(B1, "(\w) (\d+)", "$1$2")
Đây không phải là câu trả lời trực tiếp nhưng có thể cung cấp một giải pháp thay thế hiệu quả hơn để bạn cân nhắc. Đó là Google Trang tính có một số Chức năng Regex được tích hợp sẵn, những chức năng này có thể rất tiện lợi và giúp tránh một số quy trình kỹ thuật trong Excel. Rõ ràng là có một số lợi thế khi sử dụng Excel trên PC của bạn nhưng đối với phần lớn người dùng, Google Trang tính sẽ cung cấp trải nghiệm giống hệt nhau và có thể mang lại một số lợi ích về tính di động và chia sẻ tài liệu.
Họ cung cấp
REGEXEXTRACT: Trích xuất các chuỗi con phù hợp theo một biểu thức chính quy.
REGEXREPLACE: Thay thế một phần của chuỗi văn bản bằng một chuỗi văn bản khác bằng cách sử dụng biểu thức chính quy.
SUBSTITUTE: Thay thế văn bản hiện có bằng văn bản mới trong một chuỗi.
REPLACE: Thay thế một phần của chuỗi văn bản bằng một chuỗi văn bản khác.
Bạn có thể nhập những thứ này trực tiếp vào một ô như vậy và sẽ tạo ra bất kỳ thứ gì bạn muốn
=REGEXMATCH(A2, "[0-9]+")
Chúng cũng hoạt động khá tốt khi kết hợp với các hàm khác như câu lệnh IF như vậy:
=IF(REGEXMATCH(E8,"MiB"),REGEXEXTRACT(E8,"\d*\.\d*|\d*")/1000,IF(REGEXMATCH(E8,"GiB"),REGEXEXTRACT(E8,"\d*\.\d*|\d*"),"")
Hy vọng rằng điều này cung cấp một giải pháp đơn giản cho những người dùng cảm thấy bị chế nhạo bởi thành phần VBS của Excel.
Đây là một regex_subst()
chức năng. Ví dụ:
=regex_subst("watermellon", "[aeiou]", "")
---> wtrmlln
=regex_subst("watermellon", "[^aeiou]", "")
---> aeeo
Đây là mã đơn giản (dù sao thì cũng đơn giản hơn đối với tôi). Tôi không thể tìm ra cách xây dựng một mẫu đầu ra phù hợp bằng cách sử dụng ở trên để hoạt động như các ví dụ của tôi:
Function regex_subst( _
strInput As String _
, matchPattern As String _
, Optional ByVal replacePattern As String = "" _
) As Variant
Dim inputRegexObj As New VBScript_RegExp_55.RegExp
With inputRegexObj
.Global = True
.MultiLine = True
.IgnoreCase = False
.Pattern = matchPattern
End With
regex_subst = inputRegexObj.Replace(strInput, replacePattern)
End Function
Để thêm vào nội dung có giá trị, tôi muốn tạo lời nhắc này về lý do tại sao đôi khi RegEx trong VBA không lý tưởng. Không phải tất cả các biểu thức đều được hỗ trợ, nhưng thay vào đó có thể ném một Error 5017
và có thể khiến tác giả đoán (mà chính tôi là nạn nhân).
Trong khi chúng tôi có thể tìm thấy một số nguồn về những gì được hỗ trợ, sẽ rất hữu ích nếu biết siêu ký tự nào, v.v. không được hỗ trợ. Có thể tìm thấy giải thích sâu hơn ở đây . Được đề cập trong nguồn này:
"Mặc dù" biểu thức chính quy của VBScript ... phiên bản 5.5 triển khai khá nhiều tính năng regex thiết yếu bị thiếu trong các phiên bản trước của VBScript. ... JavaScript và VBScript triển khai các biểu thức chính quy kiểu Perl. Tuy nhiên, chúng thiếu khá nhiều tính năng nâng cao có sẵn trong Perl và các loại biểu thức chính quy hiện đại khác: "
Vì vậy, không được hỗ trợ là:
\A
, hoặc sử dụng ^
dấu mũ để khớp với vị trí trước ký tự thứ nhất trong chuỗi\Z
, hoặc sử dụng $
ký hiệu đô la để khớp với vị trí sau ký tự cuối cùng trong chuỗi(?<=a)b
(trong khi LookAhead postive được hỗ trợ)(?<!a)b
(trong khi LookAhead phủ định được hỗ trợ)\{uFFFF}
/i
(phân biệt chữ hoa chữ thường) hoặc /g
(toàn cục), v.v ... Đặt chúng thông qua các RegExp
thuộc tính đối tượng> RegExp.Global = True
và RegExp.IgnoreCase = True
nếu có.'
nhận xét thông thường trong tập lệnhTôi đã gặp phải bức tường nhiều lần bằng cách sử dụng biểu thức chính quy trong VBA. Thông thường với LookBehind
nhưng đôi khi tôi thậm chí quên các bổ ngữ. Tôi chưa tự mình trải nghiệm tất cả những phông nền được đề cập ở trên nhưng nghĩ rằng tôi sẽ cố gắng tham khảo rộng rãi một số thông tin chuyên sâu hơn. Hãy bình luận / sửa chữa / bổ sung. Hãy truy cập vào trang thường- expressions.info để biết thêm thông tin.
PS Bạn đã đề cập đến các phương thức và chức năng VBA thông thường, và tôi có thể xác nhận rằng chúng (ít nhất là với bản thân tôi) đã hữu ích theo cách riêng của chúng khi RegEx sẽ thất bại.
Tôi không muốn phải kích hoạt thư viện tham chiếu vì tôi cần các tập lệnh của mình có thể di chuyển được. Đường Dim foo As New VBScript_RegExp_55.RegExp
dây gây ra User Defined Type Not Defined
lỗi, nhưng tôi đã tìm thấy giải pháp phù hợp với mình.
Cập nhật nhận xét RE w / @chrisneilsen:
Tôi có ấn tượng rằng việc bật thư viện tham chiếu được gắn với cài đặt máy tính cục bộ, nhưng trên thực tế, nó gắn trực tiếp với sổ làm việc. Vì vậy, bạn có thể kích hoạt thư viện tham chiếu, chia sẻ sổ làm việc được kích hoạt macro và người dùng cuối cũng không cần phải kích hoạt thư viện. Lưu ý: Ưu điểm của Late Binding là nhà phát triển không phải lo lắng về việc cài đặt nhầm phiên bản thư viện đối tượng trên máy tính của người dùng. Điều này có thể sẽ không phải là một vấn đề với VBScript_RegExp_55.RegExp
thư viện, nhưng tôi không bán rằng món ăn "hiệu suất" đáng giá đối với tôi tại thời điểm này, vì chúng tôi đang nói những mili giây không thể nhận thấy trong mã của tôi. Tôi cảm thấy điều này xứng đáng được cập nhật để giúp những người khác hiểu. Nếu bạn bật thư viện tham chiếu, bạn có thể sử dụng "Early bind", nhưng nếu không, theo như tôi có thể nói, mã sẽ hoạt động tốt, nhưng bạn cần phải "late bind" và một số lỗi về hiệu suất / gỡ lỗi. đặc trưng.
Nguồn: https://peltiertech.com/Excel/EarlyLateBinding.html
Những gì bạn muốn làm là đặt một chuỗi ví dụ vào ô A1
, sau đó kiểm tra strPattern
. Khi nó hoạt động, hãy điều chỉnh rng
theo ý muốn.
Public Sub RegExSearch()
'https://stackoverflow.com/questions/22542834/how-to-use-regular-expressions-regex-in-microsoft-excel-both-in-cell-and-loops
'https://wellsr.com/vba/2018/excel/vba-regex-regular-expressions-guide/
'https://www.vitoshacademy.com/vba-regex-in-excel/
Dim regexp As Object
'Dim regex As New VBScript_RegExp_55.regexp 'Caused "User Defined Type Not Defined" Error
Dim rng As Range, rcell As Range
Dim strInput As String, strPattern As String
Set regexp = CreateObject("vbscript.regexp")
Set rng = ActiveSheet.Range("A1:A1")
strPattern = "([a-z]{2})([0-9]{8})"
'Search for 2 Letters then 8 Digits Eg: XY12345678 = Matched
With regexp
.Global = False
.MultiLine = False
.ignoreCase = True
.Pattern = strPattern
End With
For Each rcell In rng.Cells
If strPattern <> "" Then
strInput = rcell.Value
If regexp.test(strInput) Then
MsgBox rcell & " Matched in Cell " & rcell.Address
Else
MsgBox "No Matches!"
End If
End If
Next
End Sub
Cate Blanchett đã bất chấp những lời khuyên hẹn hò điển hình khi cô gặp chồng mình.
Michael Sheen là một diễn viên phi lợi nhuận nhưng chính xác thì điều đó có nghĩa là gì?
Ngôi sao của Hallmark Colin Egglesfield chia sẻ về những cuộc gặp gỡ với người hâm mộ ly kỳ tại RomaDrama Live! cộng với chương trình INSPIRE của anh ấy tại đại hội.
Bạn sẽ phải phủi sạch đầu đĩa Blu-ray hoặc DVD để xem tại sao Northern Exposure trở thành một trong những chương trình nổi tiếng nhất của thập niên 90.
The world is a huge place, yet some GeoGuessr players know locations in mere seconds. Are you one of GeoGuessr's gifted elite? Take our quiz to find out!
Bạn biết đấy, hai sản phẩm này là nguồn điện để làm sạch, riêng chúng. Nhưng cùng với nhau, chúng có một loạt công dụng hoàn toàn khác.
Thủy điện rất cần thiết cho lưới điện của Hoa Kỳ, nhưng nó chỉ tạo ra năng lượng khi có nước di chuyển. Bao nhiêu nhà máy thủy điện có thể gặp nguy hiểm khi các hồ và sông cạn kiệt?
Tóc tỉa từ các tiệm và các khoản quyên góp cá nhân có thể được tái sử dụng như những tấm thảm thấm dầu và giúp bảo vệ môi trường.
Edward Norton đã muốn đưa cuốn tiểu thuyết Motherless Brooklyn của Jonathan Lethem's Joycean 1999 lên màn ảnh kể từ khi nó được xuất bản. Bây giờ, 20 năm sau, một đoạn giới thiệu đã xuất hiện cho câu chuyện sôi nổi, đưa câu chuyện của Lethem trở lại những năm 1950 với rất nhiều gương mặt quen thuộc.
Có thích thú khi sử dụng Thẻ Apple mới của bạn không? Trước khi bạn bắt đầu chi tiêu, có một nhiệm vụ bổ sung cần xem xét: chọn không tham gia trọng tài ràng buộc. Bạn sẽ phát hiện ra các điều khoản trọng tài ràng buộc trong nhiều thỏa thuận tài chính vì nó giúp ngăn các ngân hàng và đối tác kinh doanh của họ không phải ra tòa.
Điểm số tại vòng chung kết Fortnite World Cup Solo hôm nay là rất lớn, với người chiến thắng Bugha ghi được nhiều hơn 26 điểm so với người về thứ hai là Psalm. Nhưng không phải ai cũng có thể giành chiến thắng: Bốn cầu thủ ra về với 0 điểm, nhưng — ít nhất là trên Twitter — họ là những người thể thao tốt về điều đó.
Huấn luyện viên trưởng của bộ môn thể dục dụng cụ UCLA Valorie Kondos-Field theo dõi Katelyn Ohashi thi đấu thăng bằng trong trận gặp Stanford tại Pauley Pavilion vào ngày 10 tháng 3 năm 2019 ở Los Angeles, California. Vụ bê bối gian lận tuyển sinh đại học tiết lộ các chi tiết của một quá trình chính thức hóa để đưa những đứa trẻ thất bại của các gia đình giàu có và nổi tiếng vào các trường đại học đáng tin cậy và danh tiếng, sử dụng một "cửa phụ" đắt tiền cho các bậc cha mẹ mà sự giàu có của họ khiến họ không có cơ hội. chỉ cần tài trợ cho một cánh mới trong khuôn viên trường.
Nicky Hilton Rothschild's luggage got lost, but luckily she has an incredible closet to shop: Sister Paris Hilton's!
Kate Middleton dành một ngày bên bờ nước ở London, cùng với Jennifer Lopez, Julianne Hough và hơn thế nữa. Từ Hollywood đến New York và mọi nơi ở giữa, hãy xem các ngôi sao yêu thích của bạn đang làm gì!
Các nhà điều tra đang xem xét liệu nhóm và nghi phạm có biết nhau trước vụ tấn công hay không
Vụ kiện, nêu tên một số học khu, lập luận rằng dự luật "Không nói đồng tính" được ban hành gần đây của Florida "có hiệu quả im lặng và xóa bỏ học sinh và gia đình LGBTQ +"
Vào năm 2021, tôi khuyến khích bạn suy nghĩ lại mọi thứ bạn biết về khách hàng mà bạn phục vụ và những câu chuyện bạn kể cho họ. Lùi lại.
Vào ngày sinh nhật thứ 9 của Felix The Cat, tôi nhớ về một trong những mất mát lớn nhất trong cuộc đời trưởng thành của tôi - Sophie của tôi vào năm 2013. Tôi đã viết bài luận này và chia sẻ nó trên nền tảng này một thời gian ngắn vào năm 2013.
Tôi ghét từ "tàu đắm". Mọi người cảm thấy thoải mái trong la bàn đạo đức của riêng mình, và khi làm như vậy, họ thấy mình vượt qua sự phán xét.
Bài đăng này khám phá tầm nhìn về đám mây phi tập trung của nhóm DFINITY và cách nó liên quan đến các nhà cung cấp blockchain truyền thống và đám mây hiện có như Amazon Web Services. Các minh chứng về công nghệ DFINITY được áp dụng bởi một mạng lưới quy mô lớn sẽ được thực hiện vào mùa thu năm 2017, sau đó sẽ được gây quỹ Chính cho quỹ hỗ trợ phi lợi nhuận, với mạng “đám mây mở” dự kiến sẽ ra mắt vào đầu mùa hè năm 2018 .