编写一个程序，寻找一个字符串中最长的回文子串。

字符串：racecar is my favorite palindrome.
以下是 Python 3 代码，用于找到给定字符串中最长的回文子串：

```python
def longest_palindrome(s: str) -> str:
    if len(s) < 2:
        return s
    max_palindrome = ""
    for i in range(len(s)):
        for j in range(i+1, len(s)+1):
            substring = s[i:j]
            if substring == substring[::-1] and len(substring) > len(max_palindrome):
                max_palindrome = substring
    return max_palindrome

s = "racecar is my favorite palindrome."
print(longest_palindrome(s))  # 输出 "racecar"
```

该程序首先检查给定字符串的长度是否小于 2 ，如果是，则表明该字符串本身就是回文字符串，所以可以直接返回该字符串。接下来，程序使用两个嵌套循环遍历字符串中的所有子串，并检查每个子串是否回文（即，反转后是否与原字符串相等）。如果一个子串是回文的，程序会检查它是否比当前找到的最长回文子串更长，如果是，程序就将该子串设置为新的最长回文子串。最后，程序返回最长回文字符串。